aide pour corriger un code

aide pour corriger un code - PHP - Programmation

Marsh Posté le 02-10-2008 à 00:20:16    

:hello:  
bonsoir  
 
j'aimerais savoir si mon code contient des erreurs car cela beug !!!  
merci d'avance
pour expliquer:
dans ma base de donnée j'ai des offres de promo en %
et je souhaite qu'il s'affiche sur la page mais cela s'affiche s'en rester en place!!
  <?php
    if($row_sejours['reduction']!='')
    {
     $row_sejours['reduction']=explode("\r\n",$row_sejours['reduction']);
     foreach($row_sejours['reduction'] as $key => $value)
     {
     if($value!='')
     {
    $value=explode(";",$value);
    if($value[0]!=0)
     echo'<option value="f'.$value[0].'" onClick="document.getElementById(\'reduction_name\').value=\''.addslashes($value[2]).'\';">'.$value[2].'</option>';
    elseif($value[1]!=0)
     echo'<option value="p'.$value[1].'" onClick="document.getElementById(\'reduction_name\').value=\''.addslashes($value[2]).'\';">'.$value[2].'</option>';
    }
    }  
    }
    ?>
 
merci du coup de pouce

Reply

Marsh Posté le 02-10-2008 à 00:20:16   

Reply

Marsh Posté le 02-10-2008 à 01:34:37    

ta requete SQL est surement mal faite.
Ton code est à chier: plein de boucles, mélange de php/html, simple quote, double quote, multiple explode, des index nommés avec des chiffres, des variables qui écrasent des variables du même nom, mal indenté, test de condition mal fait, non utilisation de fonctions php.


Message édité par cesar666 le 02-10-2008 à 01:36:24

---------------
VNR CAMENBERT
Reply

Marsh Posté le 02-10-2008 à 09:08:43    

merci pour ta reponse franche!
mais il y a surement plus simple, n'est ce pas?
peut tu me suggerer un code, please.
merci

Reply

Marsh Posté le 02-10-2008 à 10:09:58    

Pour les simple quotes double quotes il a raison d'utiliser les doubles pour le HTML et les simples pour la concaténation et délimitation de chaine, donc pas la peine de l'engueuler.
 
Ensuite les clef numérique des tableaux sont dues aux explodes donc encore une fois, c'est pas la peine de l'engueuler.
 
Maintenant l'utilisation de fonction et une bonne indentation simplifirait certainement la découverte de ce qui plante ton code.
 
Ton premier explode, tu souhaite découper ton texte par ligne, puis ensuite le deuxieme par ";", il existe des fonction CSV dans php qui allegerait surement cette phase de ton code.

Reply

Marsh Posté le 02-10-2008 à 10:27:39    

merci pour ta reponse
je vais m'y pencher dessus tres vite

Reply

Marsh Posté le 02-10-2008 à 19:35:33    

yellu a écrit :

Pour les simple quotes double quotes il a raison d'utiliser les doubles pour le HTML et les simples pour la concaténation et délimitation de chaine, donc pas la peine de l'engueuler.
 
Ensuite les clef numérique des tableaux sont dues aux explodes donc encore une fois, c'est pas la peine de l'engueuler.
 
Maintenant l'utilisation de fonction et une bonne indentation simplifirait certainement la découverte de ce qui plante ton code.
 
Ton premier explode, tu souhaite découper ton texte par ligne, puis ensuite le deuxieme par ";", il existe des fonction CSV dans php qui allegerait surement cette phase de ton code.


 
 
ok, il code bien et son code et lisible :o


---------------
VNR CAMENBERT
Reply

Marsh Posté le 04-10-2008 à 19:53:14    

Euh je préfère tout séparer perso :
 

Code :
  1. <?php
  2. if(!empty($row_sejours['reduction']))
  3. {
  4.     $row_sejours['reduction'] = explode("\r\n",$row_sejours['reduction']);
  5.     foreach($row_sejours['reduction'] as $key => $value)
  6.     {
  7.         if(!empty($value))
  8.         {
  9.             $value = explode(';',$value);
  10.             if($value[0] != 0) {
  11.                 ?>
  12.                 <option value="p<?php echo $value[0]; ?>" onClick="document.getElementById('reduction_name').value='<?php echo addslashes($value[2]) ?>';"><?php echo $value[2] ?></option>
  13.                <?php
  14.             } elseif($value[1] != 0) {
  15.                 ?>
  16.                 <option value="p<?php echo $value[1]; ?>" onClick="document.getElementById('reduction_name').value='<?php echo addslashes($value[2]) ?>';"><?php echo $value[2] ?></option>
  17.                 <?php
  18.             }
  19.         }
  20.     }
  21. }
  22. ?>


 
La tu évites tout pb d'échappement et de guillemets;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed