Rechercher : dans
Par :

[PHP] Utiliser arrays et switch avec mon code

Dernière réponse le 26 aoû 2008 à 00:11:15 Maroc-OS, le 27 jui 2008 à 23:35:22 
 Signaler ce message aux modérateurs

Bonjour,
[PHP] Utiliser arrays pour aléger mon code

j ai un truc pour avoir les extention en php mais quand je trouve la premier c bon mais la deuxieme ca change la valeur de $extension danc je perd la premier :(

voila mon code

$getattach_query = $DB->sql_query("SELECT * FROM " . $db_prefix . "attach WHERE subject_id='" . $id . "' AND reply<>'1'");
$getattach_num = $DB->sql_num_rows($getattach_query);
if ($getattach_num != 0)
{
while ($getattach_row = $DB->sql_fetch_array($getattach_query))
{
$attach_ex = $getattach_row['fileext'];

$extenstion = array();

switch ($attach_ex)
{
case ".exe" : $extension = "image/exten/exe.gif"; break;
case ".pdf" : $extension = "image/exten/pdf.gif"; break;
case ".rtf" : $extension = "image/exten/doc.gif"; break;
case ".zip" : $extension = "image/exten/zip.gif"; break;
case ".rar" : $extension = "image/exten/rar.gif"; break;
case ".doc" : $extension = "image/exten/doc.gif"; break;
case ".xls" : $extension = "image/exten/xls.gif"; break;
case ".ppt" : $extension = "image/exten/ppt.gif"; break;
case ".txt" : $extension = "image/exten/rar.gif"; break;

default : $extension = "image/exten/unknown.gif";
}

merci tres bien d avance ;)

Configuration: Windows XP
Firefox 3.0.1

Meilleures réponses pour « [PHP] Utiliser arrays et switch avec mon code » dans :
PHP - Concaténation VoirPHP permet de concaténer des chaînes de caractères grâce à l'opérateur "." : $concatenation= $a . $b; Ou encore pour affecter, dans la variable $a, la valeur de la concaténation de $a et de $b : $a.=$b; Pour concaténer des chaînes et des...
Implantation du code Php VoirL'interprétation du code par le serveur Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et...
PHP - Les classes VoirLa notion de classe Php3 intègre un soupçon de caractéristiques empruntées aux langages orientés objet, c'est-à-dire la possibilité d'utiliser des objets, entités regroupant des données et des fonctions au sein d'une structure et rendant la...

1

Sri Lumpa, le 28 jui 2008 à 08:47:11

Quand tu stockes une valeur dans un tableau, tu peux la stocker comme ça :

$tableau[] = $valeur

Avec cette syntaxe, la variable $valeur sera stockée dans la première case disponible du tableau $tableau. Je pense que ça devrait te débloquer ;)

De plus, comme tu réinitialise ton tableau extension à chaque tour de boucle, c'est normal que tu perdes les infos que tu y stockes. Il faut que tu sortes ton $extension = array() de ta boucle while. Au commencement, nous sommes tous des noobs...

Répondre à Sri Lumpa

2

Alain_42, le 28 jui 2008 à 10:53:55

Salut

pour completer:

switch ($attach_ex)
{
case ".exe" : $extension[] = "image/exten/exe.gif"; break;
case ".pdf" : $extension []= "image/exten/pdf.gif"; break;
case ".rtf" : $extension []= "image/exten/doc.gif"; break;
case ".zip" : $extension[] = "image/exten/zip.gif"; break;
case ".rar" : $extension[] = "image/exten/rar.gif"; break;
case ".doc" : $extension[] = "image/exten/doc.gif"; break;
case ".xls" : $extension []= "image/exten/xls.gif"; break;
case ".ppt" : $extension[] = "image/exten/ppt.gif"; break;
case ".txt" : $extension []= "image/exten/rar.gif"; break; 


tu vas ainsi avoir un array $extension mais il faudrait pouvoire mettre une cle qui te permettre de retrouver tes valeurs par rapport aux extractions de ta BDD

donc tu pourrait faire

$file = $getattach_row['file'];//si ton nomde fichier est dans un champ nommé 'file 'de ta BDD sinon tu changes

et ensuite 

case ".exe" : $extension[$file] = "image/exten/exe.gif"; break;

etc..

et après tu as accés à la valeur par $extension[$file]

qui te donneras la correspondance entre un fichier et l'image correspondante à son extension

Répondre à Alain_42

3

 Maroc-OS, le 26 aoû 2008 à 00:11:15
  • +1

Merciiii les amis j'ai trouvé une autre solution qui marche bien ;) mais les votre aussi ça tournes

Répondre à Maroc-OS
Collection CommentÇaMarche.net