[RESOLU] pb script

Eléphant du PHP | 345 Messages

18 août 2021, 22:15

$sql = "SELECT * FROM prison_song";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
$resultat = $pdostat->fetch();    
  if (!empty($resultat ))
  {
  $avatar = $resultat['avatar'];	  
  $pseudo = $resultat['pseudo'];
  $restant_peine = $resultat['restant_peine'];
  $peine = $resultat['peine'];
  }
bla bla bla
<table>
<tr>
<td><a href="action_prison.php"><?php echo '<img src="'.$avatar.'">';?></a>
<br><b><?php echo $pseudo; ?>
<br>Reste&nbsp;<?php echo $restant_peine; ?>&nbsp;jours / <?php echo $peine; ?></td>
</tr>
</table>
Ce test est presque parfait. L'affichage est propre. Par contre, il n'affiche pas tous les persos présents dans la table appelée. en l'occurence, le joueur connecté (moi) qui devrait aussi apparaitre... S'il faut une clause WHERE ? je ne sais pas quoi y mettre. Quelqu'un aurait-il une idée pour remédier à ce problème?
Modifié en dernier par nestor94 le 18 août 2021, 22:18, modifié 1 fois.

Mammouth du PHP | 2703 Messages

18 août 2021, 22:16

il faut utiliser un while.

Eléphant du PHP | 345 Messages

18 août 2021, 22:22

quand je mets
while($resultat = $pdostat->fetch())
C'est l'inverse qui se produit. le script affiche mon avatar et mes données, mais pas celles de l'autre perso.

Mammouth du PHP | 2703 Messages

18 août 2021, 22:46

avec un code de ce type :
<?php
$sql = "SELECT * FROM prison_song";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
while($row = $pdostat->fetch())
{
?>
<table>
<tr>
<th><p>pseudo</p></th>
<th><p>restant_peine</p></th>
<th><p>peine</p></th>
</tr>
<tr>
<td><? echo $row['pseudo']; ?></td>
<td><? echo $row['restant_peine']; ?></td>
<td><? echo $row['peine']; } ?></td>
</tr>
</table>
...
?????

Petit nouveau ! | 1 Messages

18 août 2021, 22:57

salut j'ai un probleme avec un code . le but est de me connecter a ma base de donnees mais je recois toujours cette erreur :Parse error: syntax error, unexpected identifier "FROM", expecting ")" in C:\xampp\htdocs\Site_Web\datalog.php on line 6.

mon code:

<?php
include "test1.php";
$username=$_POST['username'];
$mdp=$_POST['mdp'];

$cek_data=mysqli_query($conn,"SELECT " FROM PROFILS WHERE nom = '$nom' and mpd='$mdp'");
$cek =mysqli_num_rows($cek_data);


if($cek>0){
    echo"data found";
}else{
    echo"data not found";
}


?>

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

19 août 2021, 10:07

Regarde la coloration syntaxique... tu as un pb là : SELECT " FROM
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 345 Messages

19 août 2021, 10:33

Ca aurait été bien de faire un post différent...

Eléphant du PHP | 345 Messages

19 août 2021, 10:45

@ Or,

ton script retourne deux variables indéfinies: avatar et restant_peine...

Eléphant du PHP | 345 Messages

19 août 2021, 19:17

C'est presque bon. Coté PHP mais l'affichage est pas génial. J'ai une cellule dans l'autre?
<?php $sql = "SELECT * FROM prison_song";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
while($row = $pdostat->fetch()) 
{	
$avatar = $row['avatar'];
$peine = $row['peine'];
?>
<table>
<tr>
<td><a href="action_prison.php"><?php echo '<img src="'.$avatar.'">'; ?></a>
<br><b><?php echo $row[pseudo'];?>
<br>condamné à&nbsp;<?php echo $row['peine'];}?>&nbsp;jours</b>
</td>
</tr>
</table>


Eléphant du PHP | 345 Messages

20 août 2021, 01:06

<?php $sql = "SELECT * FROM prison_song";
$pdostat = $bdd->prepare($sql);
$pdostat->execute();
while($data = $pdostat->fetch()) 
{	
$pseudo = $data['pseudo'];
$avatar = $data['avatar'];
$peine = $data['peine'];
?>
<table>
<tr>
<td>
<a href="evasion_prison.html"><?php echo '<img src="'.$avatar.'">'; ?></a>
<b><?php  echo '<br>' .$data['pseudo'].'</br>';
echo '<br>condamné à&nbsp;' .$data['peine'].'&nbsp;jours</td>';}?>
</b>
</tr>
</table>	

J'ai remplacé row par data pour éviter un affichage (trop vertical) .