Page 1 sur 1

recuperer variable

Posté : 14 août 2015, 20:16
par neomega
bonjour,

j'essaye de récupérer une variable mais impossible
la variable est $reduc

Code : Tout sélectionner

class devis { public static function Liste_devis($tri) { $liste = ''; $resultat = Bdd::connectBdd()->prepare(SELECT.ALL.DEVIS.' WHERE devis.client_devis = clients.id_client'/*.$tri*/); $resultat -> execute(); $numBoucle = 0; $id=""; while($donnee = $resultat->fetch(PDO::FETCH_ASSOC)) { //fonction pour resultat societe if (isset ($donnee['entreprise_client'])&&($donnee['entreprise_client'] !="entreprise")) { $corpo= $donnee['entreprise_client']; } else { $corpo= ""; } //fonction pour eviter de mettre x fois le nom du client si plusieurs devis if (isset($donnee['id_client'])&&($donnee['id_client'] !=$id)) { $client= $corpo.' '. $donnee['prenom_client'] .' '. $donnee['nom_client'].'<br>'.$donnee['ville_clients'] ; $saut="<tr><td>&nbsp;</td></tr>"; } else { $client=""; $saut=""; } //fonction pour resultat type de devis if($donnee['type_devis']==1) { $action="action=genesol_pdf.php"; $type="Solaire"; } else { $action="action=genepac_pdf.php"; $type="Pac"; } //fonction colore 1 ligne sur 2 if($numBoucle %2 == 0) $bgcolor = "style='height: 45px; background-color: #d4d3d3;'"; else $bgcolor = "style='height: 45px;'"; //conextion a une autre table pour remise ----------------------------------------- RECHERCHER DANS LA TABLE ICI $num_devis=$donnee['num_devis']; $num_sub_devis=$donnee['num_sub_devis']; $resultat2 = Bdd::connectBdd()->prepare(SELECT.'prix_devis'.EQUI_DEVIS.' where equi_num_devis="$num_devis" AND equi_sub_devis="$num_sub_devis" AND id_equi_devis="0"'); $resultat2 -> execute(); while($donnee2 = $resultat2->fetch(PDO::FETCH_ASSOC)) { $reduc=$donnee2['prix_devis']; } $liste .= '<tr '.$bgcolor.'> <td>'. $client .'</td> <td>'.$donnee['num_devis'].'-'.$donnee['num_sub_devis'].'</td> <td>'.strftime("%d %B %Y",$donnee['date_devis']).'</td> <td>'.$type.'</td> <td><form method=post '.$action.' target=\"_blank\"> <input type=hidden name=devis_num value="'.$donnee['num_devis'].'"> <input type=hidden name=devis_sub_num value="'.$donnee['num_sub_devis'].'"> -------------------------------------------------- ICI : <input type=hidden name=reduc value='.$reduc.'> <input type=submit value=Imprimer></form></td> -------------------------------------------------- ET ICI : <td>'.$reduc.'</td> <td> <a href=edit_client.php?id_client='.$donnee['id_client'].'><img src="../template/images/b_edit.png" title="editer"></a> <a href=?tri=nom_asc&del_client='.$donnee['id_client'].'><img src="../template/images/b_drop.png" title="supprimer"></a> </td> </tr> '. $saut .' '; $id=$donnee['client_devis']; $numBoucle++; } if(!empty($liste)) { return $liste; } }

merci d'avance

Re: recuperer variable

Posté : 14 août 2015, 20:59
par Spols
Il te faut vérifier ta requête, si elle ne retourne aucun résultat, ta variable $reduc n'existera pas

Re: recuperer variable

Posté : 15 août 2015, 00:59
par neomega
je viens de la vérifier et toujours indéfini variable

Code : Tout sélectionner

//conextion a une autre table pour remise $num_devis=$donnee['num_devis']; $num_sub_devis=$donnee['num_sub_devis']; $resultat2 = Bdd::connectBdd()->prepare(SELECT.'prix_devis'.EQUI_DEVIS.' where equi_num_devis="$num_devis" AND equi_sub_devis="$num_sub_devis" AND id_equi_devis="0"'); $resultat2 -> execute(); while($donnee2 = $resultat2->fetch(PDO::FETCH_ASSOC)) { if(!empty($donnee2['prix_devis'])){$reduc= $donnee2['prix_devis']; } else{$reduc="";}} // fin

Re: recuperer variable

Posté : 15 août 2015, 01:05
par or 1
$reduc n'est définie que dans le while.
il faut donc ajouter un $reduc = ""; avant le while pour que la variable existe toujours après.

Re: recuperer variable

Posté : 15 août 2015, 01:18
par neomega
malheureusement toujours sa me retourne rien alors que la table est pleine dans ce champ
mais je n'ai plus l'erreur

Code : Tout sélectionner

//conextion a une autre table pour remise $num_devis=$donnee['num_devis']; $num_sub_devis=$donnee['num_sub_devis']; $resultat2 = Bdd::connectBdd()->prepare('SELECT `prix_devis` FROM `equi_devis` WHERE equi_num_devis="$num_devis" AND equi_sub_devis="$num_sub_devis" AND id_equi_devis=0'); $resultat2 -> execute(); $reduc=""; while($donnee2 = $resultat2->fetch(PDO::FETCH_ASSOC)) { if(!empty($donnee2['prix_devis'])){$reduc= $donnee2['prix_devis']; } else{$reduc="";} } // fin
merci encore

Re: recuperer variable

Posté : 15 août 2015, 01:22
par neomega
au cas ou je met la fonction complete

Code : Tout sélectionner

class devis { public static function Liste_devis($tri) { $liste = ''; $resultat = Bdd::connectBdd()->prepare(SELECT.ALL.DEVIS.' WHERE devis.client_devis = clients.id_client'/*.$tri*/); $resultat -> execute(); $numBoucle = 0; $id=""; while($donnee = $resultat->fetch(PDO::FETCH_ASSOC)) { //fonction pour resultat societe if (isset ($donnee['entreprise_client'])&&($donnee['entreprise_client'] !="entreprise")) { $corpo= $donnee['entreprise_client']; } else { $corpo= ""; } //fonction pour eviter de mettre x fois le nom du client si plusieurs devis if (isset($donnee['id_client'])&&($donnee['id_client'] !=$id)) { $client= $corpo.' '. $donnee['prenom_client'] .' '. $donnee['nom_client'].'<br>'.$donnee['ville_clients'] ; $saut="<tr><td>&nbsp;</td></tr>"; } else { $client=""; $saut=""; } //fonction pour resultat type de devis if($donnee['type_devis']==1) { $action="action=genesol_pdf.php"; $type="Solaire"; } else { $action="action=genepac_pdf.php"; $type="Pac"; } if($donnee['fin_devis']==1) { $fin="Paiment enregistré"; } else { $fin=""; } //fonction colore 1 ligne sur 2 if($numBoucle %2 == 0) $bgcolor = "style='height: 45px; background-color: #d4d3d3;'"; else $bgcolor = "style='height: 45px;'"; //conextion a une autre table pour remise $num_devis=$donnee['num_devis']; $num_sub_devis=$donnee['num_sub_devis']; $resultat2 = Bdd::connectBdd()->prepare('SELECT `prix_devis` FROM `equi_devis` WHERE equi_num_devis="$num_devis" AND equi_sub_devis="$num_sub_devis" AND id_equi_devis=0'); $resultat2 -> execute(); $reduc=""; while($donnee2 = $resultat2->fetch(PDO::FETCH_ASSOC)) { if(!empty($donnee2['prix_devis'])){$reduc= $donnee2['prix_devis']; } else{$reduc="";} } // fin $liste .= '<tr '.$bgcolor.'> <td>'. $client .'</td> <td>'.$donnee['num_devis'].'-'.$donnee['num_sub_devis'].'</td> <td>'.strftime("%d %B %Y",$donnee['date_devis']).'</td> <td>'.$type.'</td> <td><form method=post '.$action.' target=\"_blank\"> <input type=hidden name=devis_num value="'.$donnee['num_devis'].'"> <input type=hidden name=devis_sub_num value="'.$donnee['num_sub_devis'].'"> <input type=hidden name=reduc value='.$reduc.'> <input type=submit value=Imprimer></form></td> <td>'.$fin.' -'.$reduc.'</td> <td> <a href=edit_client.php?id_client='.$donnee['id_client'].'><img src="../template/images/b_edit.png" title="editer"></a> <a href=?tri=nom_asc&del_client='.$donnee['id_client'].'><img src="../template/images/b_drop.png" title="supprimer"></a> </td> </tr> '. $saut .' '; $id=$donnee['client_devis']; $numBoucle++; } if(!empty($liste)) { return $liste; } } }


et je viens de faire un test basique et les valeur ne sorte pas de la bouche while

Code : Tout sélectionner

//conextion a une autre table pour remise $num_devis=$donnee['num_devis']; $num_sub_devis=$donnee['num_sub_devis']; $resultat2 = Bdd::connectBdd()->prepare('SELECT `prix_devis` FROM `equi_devis` WHERE equi_num_devis="$num_devis" AND equi_sub_devis="$num_sub_devis" AND id_equi_devis=0'); $resultat2 -> execute(); $reduc=""; $coucou=""; while($donnee2 = $resultat2->fetch(PDO::FETCH_ASSOC)) { if(!empty($donnee2['prix_devis'])){$reduc= $donnee2['prix_devis']; } else{$reduc="";} $coucou="coucou"; } // fin $liste .= '<tr '.$bgcolor.'> <td>'. $client .'</td> <td>'.$donnee['num_devis'].'-'.$donnee['num_sub_devis'].'</td> <td>'.strftime("%d %B %Y",$donnee['date_devis']).'</td> <td>'.$type.'</td> <td><form method=post '.$action.' target=\"_blank\"> <input type=hidden name=devis_num value="'.$donnee['num_devis'].'"> <input type=hidden name=devis_sub_num value="'.$donnee['num_sub_devis'].'"> <input type=hidden name=reduc value='.$reduc.'> <input type=submit value=Imprimer></form></td> <td>'.$coucou.'</td> <td> <a href=edit_client.php?id_client='.$donnee['id_client'].'><img src="../template/images/b_edit.png" title="editer"></a> <a href=?tri=nom_asc&del_client='.$donnee['id_client'].'><img src="../template/images/b_drop.png" title="supprimer"></a> </td> </tr> '. $saut .' '; $id=$donnee['client_devis']; $numBoucle++; }
normalement je devrai voir coucou dans la colonne ma la rien

Re: recuperer variable

Posté : 15 août 2015, 10:34
par sirakawa
tente de remplacer (avec text à la place de hidden pour vérifier):
<input type=hidden name=reduc value='.$reduc.'>
par :
<input type='text' name='reduc' value='$reduc' />


<input type='submit' value'Imprimer' /></form></td>

-------------------------------------------------- ET ICI :
<td>$reduc</td>

Re: recuperer variable

Posté : 15 août 2015, 11:04
par neomega
bonjour

pareil sa reste vide

Re: recuperer variable

Posté : 15 août 2015, 11:29
par or 1
si la requete ne retourne aucun résultat, alors cela ne va pas dans le while
donc afficher la requete executee, la lancer dans phpmyadmin pour confirmer qu'elle ne retourne bien aucun résultat

Re: recuperer variable

Posté : 15 août 2015, 11:34
par neomega
bonjour,

j'ai deja essayer et sa m'affiche bien les resultat dans phpmyadmin

Re: recuperer variable

Posté : 15 août 2015, 11:39
par neomega
ce que je ne compren pas c pourquoi sa ne marche pas sa :

Code : Tout sélectionner

$coucou=""; while($donnee2 = $resultat2->fetch(PDO::FETCH_OBJ)) { if(!empty($donnee2->prix_devis)){ $reduc= $donnee2->prix_devis; } else{ $reduc=""; } $coucou="coucou"; } echo $coucou;
logiquement hors de la bouche "$coucou" devrai valoir "coucou"