probleme bizarre ?

Eléphant du PHP | 406 Messages

15 juin 2005, 14:09

salut,

J ai un formulaire de recherche qui effectue differente requete dans ma base et m affiche le resultat sous forme de tableau.
Et lorsque je clique sur une ligne du tableau j affiche dans 2 boite de dialogue le numero de serie puis l etat du materiel.
Quand j effectue une requete en fonction d un certains type d etat , j ai les resultat afficher sous forme de tableau et quand je clique sur les premieres ligne alors j obtiens bien le numero de serie dans une boite de dialogue et l etat dans une autres, mais chose bizarre quand je clique sur les derniere ligne du tableau alors dans les 2 boite de dialogue c est l etat qui s affiche ??Et je pige vraiment pas, parceque quand je fais une requete dans laquelle je choisi un autre etat et bin a ce moment l affichage est correcte pour les memes materiel.????


Merci

Mammouth du PHP | 19672 Messages

15 juin 2005, 14:28

donny, je pense qu'après 240 messages, tu devrais savoir mieux que beaucoup que sans le code correspondant, on ne peut pas détecter l'erreur s'il y en a une.... :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 14:50

Je sais que je vais être encore plus chiant que Cyrano mais tu n'as pas une petite idée de quelles parties de codes sont incriminées ?

Je sais pas pour les autres mais une tartine comme ça me donne autant envie de répondre que l'abscence de code
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

15 juin 2005, 14:50

ouai c est vrai desolé
mais quznd je me suis aperçu de cette erreur trop louche sa m a foutu les boules
Et la requete est faites à la fin
 
<?

if (isset($_POST['rechercher'])) { 
       
        
    $famille=$_POST['fam'];	
    $marque=$_POST['marque']; 
    $modele=$_POST['modele'];	
    $utilisateur=$_POST['personnel'];	
    $commande=$_POST['co']; 
    $etat=$_POST['et'];	
    $pole=$_POST['pole'];	
    $serie=$_POST['serie']; 
    $poste=$_POST['poste'];

echo $famille." ".$marque." ".$modele." ".$utilisateur." ".$commande." ".$etat." ".$pole." ".$serie." ".$poste;
	
//affichage du tableau 
//if($famille=="*" and $marque=="*" and $modele=="*" and  $utilisateur=="*" and  $commande=="*" and $etat=="*" and  //$pole=="*" and  $serie=="*" and  $poste=="*")
//{ 
$sql = 'select objet.numserie,bon_commande,etat,type_objet,marque,modele,objet.numposte,nom_pole,nom_personnel,prenom from objet,commandes,poste,poles,personnel,etat_objet,types_etat where objet.numcommande=commandes.numcommande and poste.numposte=objet.numposte and poste.numpole=poles.numpole and poste.numpersonnel=personnel.numpersonnel and objet.numserie=etat_objet.numserie and etat_objet.numetat=types_etat.numetat'; 

if($etat!="*"){ 
$sql=$sql." and etat_objet.numetat=".$etat ;
}
if($famille!="*"){ 
$sql=$sql." and type_objet='".$famille."'" ;
}
if($marque!="*"){ 
$sql=$sql." and marque='".$marque."'" ;
}
if($modele!="*"){ 
$sql=$sql." and modele='".$modele."'" ;
}
if($utilisateur!="*"){ 
$sql=$sql." and personnel.numpersonnel=".$utilisateur ;
}
if($commande!="*"){ 
$sql=$sql." and bon_commande='".$commande."'" ;
}
if($pole!="*"){ 
$sql=$sql." and poste.numpole=".$pole ;
}
if($serie!="*"){ 
$sql=$sql." and objet.numserie='".$serie."'" ;
}
if($poste!="*"){ 
$sql=$sql." and objet.numposte=".$poste;
}
	$req = pg_query($sql) or die('Erreur SQL !'); 

?>




<? //<DIV style="overflow:scroll;width:700;height:200" > ?>

<div id="contain">  
<div id="titre">
<table  width="80%" border="1" > 
<tr>
	<td style="display:none"><DIV style="width:0px;height:0px;font-size: 0.8em;" >a</DIV></td>
	<td style="display:none"><DIV style="width:0px;height:0px;font-size: 0.8em;" >b</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >N° Serie</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >N° Commande</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >Etat</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >Famille</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >Marque</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >Modele</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >N° Poste</DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" >Pole</DIV></td>
	<td colspan="2"><DIV style="width:2px;height:1px;font-size: 0.8em;" >Utilisateur</DIV></td>	

</tr>
</table> 
</div> 
<div id="remplissage"> 
 <table  width="80%" border="1" > 
<?
$i=0;
while($list=pg_fetch_assoc($req)){ 
?>


<tr class="white" onClick="blok(this, 'radio<? echo  $i ; ?>','radio2<? echo  $i ; ?>' )">
	<td style="display:none"><DIV style="width:0px;height:0px" ><input type="radio" name="a" id="radio<? echo $i ;?>" value="<? echo $list['numserie'];?>"></DIV></td>
	<td style="display:none"><DIV style="width:0px;height:0px" ><input type="radio" name="b" id="radio2<? echo $i ;?>" value="<? echo $list['etat'];?>"></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.6em;" ><? echo $list['numserie'];?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['bon_commande'] ;?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['etat'] ;?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['type_objet'];?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['marque'];?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['modele'];?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['numposte'];?></DIV></td>
	<td><DIV style="width:2px;height:1px;font-size: 0.8em;" ><? echo $list['nom_pole'];?></DIV></td>
	<td><DIV style="width:1px;height:1px;font-size: 0.8em;" ><? echo $list['nom_personnel'];?></DIV></td>
	<td><DIV style="width:1px;height:1px;font-size: 0.8em;" ><? echo $list['prenom'];?></DIV></td>
</tr> 



<?
$i=$i+1;
}
?>

</table> 
</div> 
</div>




<? //</DIV> ?>
<?
$nb=pg_num_rows($req);
echo $nb." ligne(s).";
}

?>

<table>
<tr><td>Garantie sur site</td></tr>
<tr><td><input type="text" name="site"></td></tr>
<tr><td>Retour atelier</td></tr>
<tr><td><input type="text" name="retour"></td></tr>
<tr><td>Contrat maintenance</td></tr>
<tr><td><input type="text" name="contrat"></td></tr>
</table>
<script>
var id;
id=ids;

</script>
<input type="button" name="maj" value="Changer etat" onclick="ouvrirFenetre(ids,'etat.php');"> 
<input type="button" name="affect" value="Affecter" onclick="ouvrirFenetre(ids,'affecter.php');"> 
<input type="button" name="modif" value="Modifier" onclick="ouvrirFenetre2(ids,ids2,'modifier.php');"> 

<? if(isset($_POST['caz']))
{ 

    unset($_SESSION['type_objet']); 
 
    unset($_SESSION['marque']);
    unset($_SESSION['modele']); 
 

    unset($_SESSION['pole']) ;

    unset($_SESSION['perso']); 
    unset($_SESSION['etat']); 

    unset($_SESSION['commande']); 

    unset($_SESSION['fam']);  

    unset($_SESSION['serie']); 

    unset($_SESSION['poste']);
echo "<script>javascript:zero();</script>";
}
echo "<h1>".$_SESSION['fam']."</h1>";
echo "<h1>".$_SESSION['marque']."</h1>";
?>

</form> 

</body> 
</html> 


BFH
Eléphant du PHP | 214 Messages

15 juin 2005, 14:53

Tiens bin maintenant t'as la tartine de code !
On se fait un petit dej' ??
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...

Mammouth du PHP | 19672 Messages

15 juin 2005, 14:54

... tu n'as pas une petite idée de quelles parties de codes sont incriminées ?...
Apparemment non, c'est plus simple de balancer tout le code :evil:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

BFH
Eléphant du PHP | 214 Messages

15 juin 2005, 14:56

Apparemment non, c'est plus simple de balancer tout le code :evil:
Il fait ça depuis le début de la journée je vois pas pourquoi t'as l'air surpris
:-s
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...

Mammouth du PHP | 19672 Messages

15 juin 2005, 14:58

Je ne suis pas surpris, je commence à me lasser

__________________________
Laver la tête d'un âne, c'est gaspiller de l'eau (Proverbe Sicilien)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

BFH
Eléphant du PHP | 214 Messages

15 juin 2005, 15:00

Positive attitude :pouce:

:D :D :D
Perdu dans la matrice avec un guide michelin ](*,) #-o
Adorateur de Cyrano
Parti puis revenu...

Eléphant du PHP | 406 Messages

15 juin 2005, 15:04

je pense que sa viens de la car c est ici que j execute ma requete
if (isset($_POST['rechercher'])) { 
        
         
    $famille=$_POST['fam'];     
    $marque=$_POST['marque']; 
    $modele=$_POST['modele'];     
    $utilisateur=$_POST['personnel'];     
    $commande=$_POST['co']; 
    $etat=$_POST['et'];     
    $pole=$_POST['pole'];     
    $serie=$_POST['serie']; 
    $poste=$_POST['poste']; 

echo $famille." ".$marque." ".$modele." ".$utilisateur." ".$commande." ".$etat." ".$pole." ".$serie." ".$poste; 
     
//affichage du tableau 
//if($famille=="*" and $marque=="*" and $modele=="*" and  $utilisateur=="*" and  $commande=="*" and $etat=="*" and  //$pole=="*" and  $serie=="*" and  $poste=="*") 
//{ 
$sql = 'select objet.numserie,bon_commande,etat,type_objet,marque,modele,objet.numposte,nom_pole,nom_personnel,prenom from objet,commandes,poste,poles,personnel,etat_objet,types_etat where objet.numcommande=commandes.numcommande and poste.numposte=objet.numposte and poste.numpole=poles.numpole and poste.numpersonnel=personnel.numpersonnel and objet.numserie=etat_objet.numserie and etat_objet.numetat=types_etat.numetat'; 

if($etat!="*"){ 
$sql=$sql." and etat_objet.numetat=".$etat ; 
} 
if($famille!="*"){ 
$sql=$sql." and type_objet='".$famille."'" ; 
} 
if($marque!="*"){ 
$sql=$sql." and marque='".$marque."'" ; 
} 
if($modele!="*"){ 
$sql=$sql." and modele='".$modele."'" ; 
} 
if($utilisateur!="*"){ 
$sql=$sql." and personnel.numpersonnel=".$utilisateur ; 
} 
if($commande!="*"){ 
$sql=$sql." and bon_commande='".$commande."'" ; 
} 
if($pole!="*"){ 
$sql=$sql." and poste.numpole=".$pole ; 
} 
if($serie!="*"){ 
$sql=$sql." and objet.numserie='".$serie."'" ; 
} 
if($poste!="*"){ 
$sql=$sql." and objet.numposte=".$poste; 
} 
    $req = pg_query($sql) or die('Erreur SQL !'); 

?> 





PS: quand on viens sur un forum c est qu on pije pas un truc,
donc tes reflexions garde les ou envoi un pv, je viens pas ici pour me faire insulter et passer pour un con

ViPHP
pjl
ViPHP | 2119 Messages

15 juin 2005, 15:04

Sans lire le code, je dirais : afficher la requete terminée et l'exécuter dans PHPMyAdmin.

Mammouth du PHP | 19672 Messages

15 juin 2005, 15:15

Autre suggestion, faire du code aeré et lisible, ça coute pas cher, exemple:
$sql  =  'SELECT objet.numserie,  bon_commande, etat, type_objet, marque, modele, objet.numposte, nom_pole, nom_personnel, prenom ".
"FROM objet, commandes, poste, poles, personnel, etat_objet, types_etat ".
"WHERE objet.numcommande = commandes.numcommande ".
"AND poste.numposte = objet.numposte ".
"AND poste.numpole = poles.numpole ".
"AND poste.numpersonnel = personnel.numpersonnel ".
"AND objet.numserie = etat_objet.numserie ".
"AND etat_objet.numetat  =  types_etat.numetat';
ÇA donne une idée plus facile à suivre de la requête que tout en minuscules sans espaces sur une seule ligne.
Au lieu de ça:
$sql = 'select objet.numserie,bon_commande,etat,type_objet,marque,modele,objet.numposte,nom_pole,nom_personnel,prenom from objet,commandes,poste,poles,personnel,etat_objet,types_etat where objet.numcommande=commandes.numcommande and poste.numposte=objet.numposte and poste.numpole=poles.numpole and poste.numpersonnel=personnel.numpersonnel and objet.numserie=etat_objet.numserie and etat_objet.numetat=types_etat.numetat';
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

15 juin 2005, 15:15

PS: quand on viens sur un forum c est qu on pije pas un truc,
donc tes reflexions garde les ou envoi un pv, je viens pas ici pour me faire insulter et passer pour un con
Tous ceux qui posent un problème sur ce forum ne pijent pas un truc

Mais il y a ceux qui cherchent à comprendre qui testent jusqu'a isoler un coin de code et qui bloquent et à ce moment là qui viennent poser leurt question. Il y a aussi ceux qui dès qu'ils ont un problème font 2-3 test et postent leur problème

Je sais bien qu'on est là pour aider mais franchement c'est lassant d'être pris pour une machine à vérifier su code.

Je reconnais que PHP manque d'un bon débuggeur mais avec un peu d'huile de coude et de méthode, on peut isoler un problème et souvent, on trouve la solution immédiatement après. J'en veux pour preuve les post résolu en 2 post
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 406 Messages

15 juin 2005, 15:21

la requete affiche les bon truc car le tableau est rempli correctement sur ma page, le truc c est que l affichage des boite de dialogue ne marche que pour le debut du tableau et pas pour la fin et que pour un type de requte.
Pour les autres requetes sa fonctionne nikel

Zeus je suis tout à fait d accord avec toi, si t a remarquer je viens de moins en moins, c est que j essai de deboguer mes problemes tout seul d abord car j ai compris quand venant tout le tant j avançerai pas

Eléphant du PHP | 406 Messages

16 juin 2005, 08:19

j ai plus de precision sur mon probleme
sur les 2 premiere colonne de chaque ligne j ai 2 bouton options et en faite quand je clique sur la ligne il n y en a un qu un seul qui est cocher ce qui est bizarre
<tr class="white" onClick="blok(this, 'radio<? echo  $i ; ?>','radio2<? echo  $i ; ?>' )">
	<td ><DIV style="width:0px;height:0px" ><input type="radio" name="a" id="radio<? echo $i ;?>" value="<? echo $list['numserie'];?>"></DIV></td>
	<td ><DIV style="width:0px;height:0px" ><input type="radio" name="b" id="radio2<? echo $i ;?>" value="<? echo $list['etat'];?>"></DIV></td>