Erreur de test en php
mb42
Messages postés
432
Date d'inscription
Statut
Membre
Dernière intervention
-
Neliel Messages postés 6146 Date d'inscription Statut Contributeur Dernière intervention -
Neliel Messages postés 6146 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
pouvez me corriger mon script invantaire1.php
l'erreur est dans l'affichage de deuxième tableau
<html>
<head>
</head>
<form action="" method="post" name="form1">
<table frame="box" rules="none">
<tr>
<td>resultat de choix</span></td>
</td>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]==$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
}
}
?>
</td>
</tr>
</table>
<table frame="box" rules="none">
<tr>
<td>resultat de deuximme choix</span></td>
</td>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]!=$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>faux</td></tr>";
}
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
le script inventaire.php
<html>
<head>
<title>exercice 3</title>
</head>
<body>
<form action="inventaire1.php" method="post" name="form1">
<table frame="box" rules="none">
<td>
Local
</blockquote></td>
<td><select name="local">
<?php
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from depot";
$result=mysql_query($query);
while($ligne=mysql_fetch_row($result))
{
echo"<option value=\"$ligne[0]\">$ligne[2]</option>";
}
?>
</select></td>
</tr>
<tr>
<td>
choix
</td>
<td><input type="text" name="choix"/>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="valider" name="envoyer"/></td></tr>
</table>
</form>
</html>
est ce qu'on peut pas mettre en php test de ce genre
if($TableauRef[$i]!=$ligne[0])
le premier test marche correctement et donne de résultat juste
if($TableauRef[$i]==$ligne[0])
merci d'avance
pouvez me corriger mon script invantaire1.php
l'erreur est dans l'affichage de deuxième tableau
<html>
<head>
</head>
<form action="" method="post" name="form1">
<table frame="box" rules="none">
<tr>
<td>resultat de choix</span></td>
</td>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]==$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
}
}
?>
</td>
</tr>
</table>
<table frame="box" rules="none">
<tr>
<td>resultat de deuximme choix</span></td>
</td>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]!=$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>faux</td></tr>";
}
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
le script inventaire.php
<html>
<head>
<title>exercice 3</title>
</head>
<body>
<form action="inventaire1.php" method="post" name="form1">
<table frame="box" rules="none">
<td>
Local
</blockquote></td>
<td><select name="local">
<?php
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from depot";
$result=mysql_query($query);
while($ligne=mysql_fetch_row($result))
{
echo"<option value=\"$ligne[0]\">$ligne[2]</option>";
}
?>
</select></td>
</tr>
<tr>
<td>
choix
</td>
<td><input type="text" name="choix"/>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="valider" name="envoyer"/></td></tr>
</table>
</form>
</html>
est ce qu'on peut pas mettre en php test de ce genre
if($TableauRef[$i]!=$ligne[0])
le premier test marche correctement et donne de résultat juste
if($TableauRef[$i]==$ligne[0])
merci d'avance
A voir également:
- Erreur de test en php
- Test performance pc - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Test steam deck oled - Guide
- Test composant pc - Guide
- Test batterie pc - Guide
10 réponses
Pour les test, ils sont corrects... vérifie les valeurs à tester en affichant les variables avec "echo".
Par contre, je remarque ceci à plusieurs endroit...
Tu fermes une balise <span> sans en avoir ouvert... puis derrière tu refermes deux fois de suite la balise <td>
Par contre, je remarque ceci à plusieurs endroit...
<table frame="box" rules="none"> <tr> <td>resultat de choix</span></td> </td> <tr> <td>
Tu fermes une balise <span> sans en avoir ouvert... puis derrière tu refermes deux fois de suite la balise <td>
les balises de ton tableaux sont un peu mise en vrak .
Tu ouvres des lignes sans avoir fermée la precedente, tu fermes des cellules sans les avoirs ouvert.
Tu ouvres des lignes sans avoir fermée la precedente, tu fermes des cellules sans les avoirs ouvert.
je corrige les faute de le script
mais lors de l'affichage
dans mon cas
le premier affichage donne résultat juste il m'affiche résultat de choix
1 correcte
5 correcte
mais dans le deuxième affichage il m'affiche résultat plusieurs fois
résultat de deuxième choix
9 faux
8 faux
5 faux
7 faux
6 faux
9 faux
8 faux
1 faux
5 faux
7 faux
6 faux
9 faux
8 faux
1 faux
7 faux
6 faux
9 faux
8 faux
1 faux
5 faux
7faux
6 faux
9 faux
8 faux
1 faux
1 faux
5 faux
7 faux
6 faux
le résultat correcte doit être
résultat de la deuxième choix
9 faux
8 faux
7 faux
6 faux
je parle de test selon mon cas
mais le principe de test c le meme
mais lors de l'affichage
dans mon cas
le premier affichage donne résultat juste il m'affiche résultat de choix
1 correcte
5 correcte
mais dans le deuxième affichage il m'affiche résultat plusieurs fois
résultat de deuxième choix
9 faux
8 faux
5 faux
7 faux
6 faux
9 faux
8 faux
1 faux
5 faux
7 faux
6 faux
9 faux
8 faux
1 faux
7 faux
6 faux
9 faux
8 faux
1 faux
5 faux
7faux
6 faux
9 faux
8 faux
1 faux
1 faux
5 faux
7 faux
6 faux
le résultat correcte doit être
résultat de la deuxième choix
9 faux
8 faux
7 faux
6 faux
je parle de test selon mon cas
mais le principe de test c le meme
<table frame="box" rules="none">
<tr>
<td>resultat de deuximme choix</span></td>
</td>
<tr>
<td>
alor déja tu ferme un </span> san en ouvrir un ensuite tu met 2 foi </td> a la suite (jvoi pa pourkoi) et pour finir tu ouvre le <tr> (en dessous de <table frame="box" rules="none">) san le refermé aprè.
Tro d'erreur d'inatention !
<tr>
<td>resultat de deuximme choix</span></td>
</td>
<tr>
<td>
alor déja tu ferme un </span> san en ouvrir un ensuite tu met 2 foi </td> a la suite (jvoi pa pourkoi) et pour finir tu ouvre le <tr> (en dessous de <table frame="box" rules="none">) san le refermé aprè.
Tro d'erreur d'inatention !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci de vos réponse
désolé j'oublie d'envoyer le fichier inventaire1.php après modification
<html>
<head>
</head>
<form action="" method="post" name="form1">
<table>
<tr>
<td>resultat de choix</td>
</tr>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]==$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
}
}
?>
</td>
</tr>
</table>
<table>
<tr>
<td>resultat de deuximme choix</td>
</tr>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]!=$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>faux</td></tr>";
}
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
désolé j'oublie d'envoyer le fichier inventaire1.php après modification
<html>
<head>
</head>
<form action="" method="post" name="form1">
<table>
<tr>
<td>resultat de choix</td>
</tr>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]==$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
}
}
?>
</td>
</tr>
</table>
<table>
<tr>
<td>resultat de deuximme choix</td>
</tr>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]!=$ligne[0])
echo"<tr><td>$TableauRef[$i]</td><td>faux</td></tr>";
}
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
c simple dans le premier formulaire (invantaire.php)
je sélectionne un local
après je tape par exemple des références 9,8,1,5,7,6
le test c fait comme suit
premièrement elle cherches tous les references des articles de ce local
et cela se fait par select *from article where local='$local'
le résultat est bien sur un tableau
parcourir ces tableau et comparer valeur par valeur par
les valeur des références tapés( 9,8,1,5,7,6)
pour mon cas 1 et 5 sont correcte
les restes sont fausses
j'espère que devient clair
je sélectionne un local
après je tape par exemple des références 9,8,1,5,7,6
le test c fait comme suit
premièrement elle cherches tous les references des articles de ce local
et cela se fait par select *from article where local='$local'
le résultat est bien sur un tableau
parcourir ces tableau et comparer valeur par valeur par
les valeur des références tapés( 9,8,1,5,7,6)
pour mon cas 1 et 5 sont correcte
les restes sont fausses
j'espère que devient clair
le question qui suppose est ce que en php on accepte des testes
comme celle ci if($TableauRef[$i]!=$ligne[0])
comme celle ci if($TableauRef[$i]!=$ligne[0])
je change l'opérateur != par <> mais encore le deuxième affichage
est incorrecte pourtant le premier affichage est juste
je pense qu'on dois faire autrement
puisque le premier résultat est juste on peut l'exploiter
mais comment , je pense quant fait le test avec if($TableauRef[$i]==$ligne[0])
on affiche le resulat avec echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
au meme temps je veux décrémente cette valeur de tableau $TableauRef[
pour q'apres juste on parcour ce tableau et on fait l'affichage
avec for($i=0;$i<$Nb;$i++){
echo"<tr><td>$TableauRef[$i]</td><td>faux</td></tr>";
}
je pense mon idee est juste mais reste a l'appliquer
je suppose qu'on doit faire comme celle ci
mais elle m'affiche erreur ( undefined offset -1)
<html>
<head>
</head>
<form action="" method="post" name="form1">
<table frame="box" rules="none">
<tr>
<td>resultat de choix</td>
</tr>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]==$ligne[0])
{echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
$TableauRef[$i]=$TableauRef[$i-1];}
}
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
est incorrecte pourtant le premier affichage est juste
je pense qu'on dois faire autrement
puisque le premier résultat est juste on peut l'exploiter
mais comment , je pense quant fait le test avec if($TableauRef[$i]==$ligne[0])
on affiche le resulat avec echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
au meme temps je veux décrémente cette valeur de tableau $TableauRef[
pour q'apres juste on parcour ce tableau et on fait l'affichage
avec for($i=0;$i<$Nb;$i++){
echo"<tr><td>$TableauRef[$i]</td><td>faux</td></tr>";
}
je pense mon idee est juste mais reste a l'appliquer
je suppose qu'on doit faire comme celle ci
mais elle m'affiche erreur ( undefined offset -1)
<html>
<head>
</head>
<form action="" method="post" name="form1">
<table frame="box" rules="none">
<tr>
<td>resultat de choix</td>
</tr>
<tr>
<td>
<?php
$local=$_POST['local'];
$choix=$_POST['choix'];
$TableauRef=explode(",",$choix);
$Nb=count($TableauRef);
$serveur="localhost";
$user="user1";
$pwd="user1";
$db="gestionpret";
$lien=mysql_connect($serveur,$user,$pwd) or die("impossible de connecter de serveur");
mysql_select_db($db,$lien);
$query="select *from article where local='$local'";
$res=mysql_query($query);
while($ligne=mysql_fetch_row($res))
{
for($i=0;$i<$Nb;$i++){
if($TableauRef[$i]==$ligne[0])
{echo"<tr><td>$TableauRef[$i]</td><td>correcte</td></tr>";
$TableauRef[$i]=$TableauRef[$i-1];}
}
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
En PHP, l'opérateur d'inégalité est "!=" pas "<>".
Après si j'ai bien compris, tu souhaites afficher les valeurs $TableauRef[$i] et ajouté si c'est égal à $ligne[0] "correcte" sinon "incorrecte"... pour cela tu fais:
"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"
Après si j'ai bien compris, tu souhaites afficher les valeurs $TableauRef[$i] et ajouté si c'est égal à $ligne[0] "correcte" sinon "incorrecte"... pour cela tu fais:
<table> <tr><td>Valeur</td><td>Statut</td></tr> <?php for($i=0; $i<sizeof($TableauRef);$i++) { ?> <tr><td><?php echo $TableauRef[$i];?></td> <td> <?php if($TableauRef[$i] == $ligne[0]) echo "Correct"; else echo "Incorrect"; ?> </td> </tr> <?php } ?>
"Trotti Trotta, Monsieur P, il y a des anges qui veulent un bisou..."
"Même les joujou de Monsieur P ont besoin de joujou"