Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

URGENT :pb affichage donnees suite a un select

3 réponses
Avatar
stephane
c'est une catastrophe avant il maffichait au moins les donnees que je
rentrais maintenant c'est du charabia...
ds mon fichier html je rentre nom+prenom+region du clt je valide et là mon
fichier php doit me faire un select de mabase ou les donnees que j ai rentre
ds mon fichier html sont identique a ma base
et la il devarit s afficher toutes les infos : nom+prenom+region
+adresse...(si le clt existe)
mais non rien ne s affiche
(ma table est pleine et les infos que je rentre sont ds la table..)

MERCI POUR VOTRE AIDE

mon fichier php pr le clt


majclt.php :

<htm>
<head>
</head>

<body>
<h1>Affichage des enregistrements de la base</h1>
<table border="1">
<tr>
<th>Nom:</th>
<th>prenom:</th>
<th>region:</th>
<th>region:</th>
<th>email:</th>
</tr>

<?php


$db=mysql_connect(localhost,root,"") or die ("Connexion au serveur
impossible.".mysql_error());


mysql_select_db(RESAONLINE,$db)
or die ("Echec lors de la connexion à la base de
données.".mysql_error());

$resultat= mysql_query("SELECT * FROM client WHERE nom_clt='$nom_clt' AND
region='$region' ",$db)
or die ("pb requete");

if(mysql_fetch_array($resultat)==0)
{echo "aucune donnes ds la base a ce nom";}
else
{
while ($enregistrement = mysql_fetch_array($resultat))
{
$nom_clt=$enregistrement["nom_clt"] ;
$prenom_clt= $enregistrement["prenom_clt"] ;
$region= $enregistrement["region"];
$email= $enregistrement["email"] ;

print "<tr>";
print "<td>".$enregistrement["nom_clt"]."</td>";
print "<td>".$enregistrement["prenom_clt"]."</td>";
print "<td>".$enregistrement["region"]."</td>";
print "<td>".$enregistrement["email"]."</td>";
print " </tr>";

}}

mysql_close();
?>
</table>
</body>
</htm>

mon code html pr le clt

tableaumaj.htm :

form action="majclt.php" method="post">


<p align="center">

<font size="3" face="Arial">nom : </font>
<input name="nom_clt" type="text"
size="18">&nbsp;&nbsp;&nbsp;&nbsp;
<font size="3" face="Arial">prénom</font><font size="3"
face="Arial"> : </font>
<input name="prenom_clt" type="text"
size="20">&nbsp;&nbsp;&nbsp;&nbsp; région :<input name="region" type="text"
size="20">

<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<br>

<p align="center"><INPUT TYPE ="submit" value="Valider"></p
</form>

3 réponses

Avatar
Guillaume Bouchard
stephane wrote:

c'est une catastrophe avant il maffichait au moins les donnees que je
rentrais maintenant c'est du charabia...


QUe ce soit une catastrophe ou pas, il n'y a rien qui merite le URGENT !!!

<?php
$db=mysql_connect(localhost,root,"") or die ("Connexion au serveur
impossible.".mysql_error());


Localhost et root, ce sont des constante ou des chaines de caracteres ?
si ce sont des chaines, alors il faut les mettre entre guillemet...

<?php
error_reporting(E_ALL);
?>

Mais apparament apres 'lavoir dit 5 ou 6 foix, tu ne l'a toujours pas
comprit.
mysql_select_db(RESAONLINE,$db)
or die ("Echec lors de la connexion à la base de
données.".mysql_error());


meme concept, RESAONLINE, c'est une chaine ou une constante ?

$resultat= mysql_query("SELECT * FROM client WHERE nom_clt='$nom_clt' AND
region='$region' ",$db)
or die ("pb requete");


Gestion d'erreur pourit.

$sql = "requete";
$resultat = mysql_query($sql,$db) or die(mysql_error().$sql);

Les SELECT * sont deconseillé. Cela ne sert a rien de tout rapatrié
alors qu'il y a surement des champs inutiles.

if(mysql_fetch_array($resultat)==0)


La je me demande si tu sais ce que tu fais ?

if(mysql_num_rows($resultat) == 0){
//rien
} else {
while ($enregistrement = mysql_fetch_array($resultat))

$nom_clt=$enregistrement["nom_clt"] ;
$prenom_clt= $enregistrement["prenom_clt"] ;
$region= $enregistrement["region"];
$email= $enregistrement["email"] ;


J'aime pas cette technique du recopiage de vars, mais bon... Ca facilite
la lecture apres.


print "<td>".$enregistrement["nom_clt"]."</td>";


Tu a recopier la variable dans $nom_clt, pourquoi ne pas s'en servir ?

print "<td>".$enregistrement["prenom_clt"]."</td>";
print "<td>".$enregistrement["region"]."</td>";
print "<td>".$enregistrement["email"]."</td>";


Meme concept.

Comme je suis un grand mechand, je ne prend pas la peine de chercher ce
qui cloche. Nettoye ton code et tu vera surement mieux ( mais je doute
que tu le fasse... Cf ton dernier thread ou apres t'avoir dit 5 foix les
choses, tu revient avec les meme erreurs. )

--
Guillaume.

Avatar
stephane
salut guillaume

biensur que je prend en compte (<?phperror_reporting(E_ALL);?>)ce que tu me
dis je suis debutante et depuis 3 du mat je suis sur ce code et avant toi
sur un autre forum j ai eu differents son de cloches, ( certaines fonctions
ont ete retire et d autres ajoute..)
quant au urgent, effectivement desolee,mais je suis tellemnt ds le
code............

voila a quoi il ressemble a 19h26

<?php
error_reporting(E_ALL);

$serveur="localhost";
$login="root";
$pass="";
$base="RESAONLINE";

$ressource = mysql_connect($serveur, $login, $pass) or die ("Connexion au
serveur impossible.".mysql_error());

mysql_select_db($base, $ressource)or die ("Echec lors de la connexion à la
base de données".mysql_error());

$requete = "SELECT nom_theatre,spectacle,adresse,nbre_place FROM
representation WHERE nom_theatre='".$nom_theatre."' AND spectacle='".
$spectacle."'";
$resultat = mysql_query($requete,$ressource) or die ("pb
requete".mysql_error());

while ($enregistrement = mysql_fetch_array($resultat))
{
$nom_theatre=$enregistrement["nom_theatre"] ;
$spectacle= $enregistrement["spectacle"] ;
$adresse= $enregistrement["adresse"];
$nbre_place= $enregistrement["nbre_place"] ;

print"<TR>";
print "<TD>".$nom_theatre."</TD>";
print "<TD>".$spectacle."</TD>";
print"<TD>".$adresse."</TD>";
print "<TD>".$nbre_place."</TD>";
print "</TR>";
}

mysql_close();
?>
Avatar
Guillaume Bouchard
stephane wrote:
salut guillaume


Coucou.

biensur que je prend en compte (<?phperror_reporting(E_ALL);?>)


Apparament au depart, tu ne t'en souciais guere. Mais bon, ca a l'air
mieux. :)


ce que tu me
dis je suis debutante et depuis 3 du mat je suis sur ce code et avant toi
sur un autre forum j ai eu differents son de cloches, ( certaines fonctions
ont ete retire et d autres ajoute..)


Et ben moi j'ai passé la nuit sur une compliation de noyau sous debian,
bref faut croire que la nuit ne sert plus a dormir.

voila a quoi il ressemble a 19h26

$requete = "SELECT nom_theatre,spectacle,adresse,nbre_place FROM
representation WHERE nom_theatre='".$nom_theatre."' AND spectacle='".
$spectacle."'";


1) je ne voie pas pourquoi tu inclue nom_theatre et spectacle dans le
select, car tu les connais deja.

$resultat = mysql_query($requete,$ressource) or die ("pb
requete".mysql_error());


$resultat = mysql_query($requete,$ressource) or die ("pb
requete".mysql_error().$requete);

Avec cela, tu a la requete qui s'affiche, cela permet de voir
correctement les problemes quand ta requete est generé dynamiquement.

Bref, je ne vois pas d'erreurs, mais il y a quelque chose qui me choque
dans la conception.
Je doute que tu ai 2 spectacle du meme nom au meme theatre, donc quand
tu fait ta requete, elle ne doit renvoyer qu'un seul champs...
Esseye deja de virer le champs where, pour voir si il y a bien des
lignes qui sont recuperer.

--
Guillaume.