[PHP] Utiliser arrays et switch avec mon code
Résolu
Maroc-OS
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
Maroc-OS Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
Maroc-OS Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
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 ;)
[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 ;)
A voir également:
- [PHP] Utiliser arrays et switch avec mon code
- Code ascii - Guide
- Utiliser chromecast - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
3 réponses
Salut
pour completer:
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
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
Quand tu stockes une valeur dans un tableau, tu peux la stocker comme ça :
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.
$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.