{PHP} Pb ajout bouton

Fermé
juliendangers Messages postés 226 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 28 octobre 2011 - 9 mars 2010 à 14:43
juliendangers Messages postés 226 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 28 octobre 2011 - 9 mars 2010 à 17:56
Bonjour,

J'ai un projet qui consiste à réaliser un site web pour un agent automobile. A un moment je dois afficher l'ensemble des véhicules d'occasions du parc. L'affichage se déroule sans problème.
Seulement pour ce qui est de l'admin qui peut modifier ou supprimer les enregistrements, il y a toujours 2 enregistrements vides qui s'affichent en plus :s

Je vous met le code pour que ca soit plus clair :

<?php 
	@$db = new mysqli('localhost', 'julien', 'admin', 'web');
	if(mysqli_connect_errno()) {
		echo "Impossible de se connecter à la base de données.";
		exit;
	}
		
	/*if (isset($_POST['supprimer'])) // test si on a cliquer sur un bouton
	{
	$idbouton = $_POST['supprimer'];
	$sup= " DELETE  FROM occasion WHERE id_occas='$idbouton'"; 
	$supp = $db->query($sup);
	} */
	$ma_requete = "	SELECT * from occasion ";
	$resultat = $db->query($ma_requete);
	$nb_lig_resultat = $resultat->num_rows;
	for($i =0; $i < $nb_lig_resultat; $i++) {
		$ligne = $resultat->fetch_assoc(); ?> 
		<tr  bgcolor="#DCDCDC" onmouseover="bgColor='lightyellow';" onmouseout="bgColor='#DCDCDC'">
		<td></td>
		<td class=\"cellpty\">
		<?php echo stripslashes($ligne['marque_occas']) . '</td>'; ?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['modele_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['version_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['annee_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['color_ext_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['km_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['energie_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['puissance_occas']) . '</td>';?>
		<td class="cellpty"><strong>
		<?php echo stripslashes($ligne['prix_occas']) . '</strong></td>';?>
		<td> <form name="<?php echo $ligne['id_occas']; ?>" method="post" action="modifier.php">
		<input type="submit" name="Submit" value="modifier"></form>
		</td>
        </tr>
        
		
		<?php $ligne = $resultat->fetch_assoc(); ?>
		
		<tr bgcolor="#F5F5F5" onmouseover="bgColor=\'lightyellow\';" onmouseout="bgColor=\'#F5F5F5\'">
		<td></td>
		<td class=\"cellpty\">
		<?php echo stripslashes($ligne['marque_occas']) . '</td>'; ?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['modele_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['version_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['annee_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['color_ext_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['km_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['energie_occas']) . '</td>';?>
		<td class="cellpty">
		<?php echo stripslashes($ligne['puissance_occas']) . '</td>';?>
		<td class="cellpty"><strong>
		<?php echo stripslashes($ligne['prix_occas']) . '</strong></td>';?>
		<td> <form name="<?php echo $ligne['id_occas']; ?>" method="post" action="modifier.php">
		<input type="submit" name="Submit" value="modifier"></form>
		</td>
        </tr>
        
        <?php } 
		?>
		</table>
        <?php
		$resultat->free();
		$db->close(); ?>
A voir également:

5 réponses

Bonjour

Seulement deux enregistrements en plus ? Ça m'étonne, d'après ton code, du affiches deux fois plus d'enregistrements qu'il n'y en a en réalité.
Tu boucles $resultat->num_rows fois, mais tu fais deux $resultat->fetch_assoc() dans chaque boucle
0
juliendangers Messages postés 226 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 28 octobre 2011 43
9 mars 2010 à 17:05
ouai j'ai di 2 car pour le moment ma base de données ne contient que 2 enregistrements :s
Mais le problème c'est que je veux afficher un style différent tous les 2 affichages :s
C'est pourquoi je fais un autre $resultat->fetch_assoc()
effectivement si j'enleve le 2e j'ai toujours 4 enregistrements, ils sont tous pleins, mais j'ai 2 fois le même (normal) avec chacun une couleur...
aurais-tu une solution?
0
Dans tous les cas tu fais un seul affichage par boucle. C'est totalement illogique d'afficher volontairement plus de données que ce qu'on a !
Il te suffit d'une variable booleenne pour décider d'afficher une couleur ou une autre
Dans ta boucle , tu changes l'état de ta variable à chaque fois. C'est tout

Je crois qu'il y a encore plus simple avec les CSS, il y a une propriété qui gère directement les lignes paires/impaires, mais je ne connais pas par coeur.
0
juliendangers Messages postés 226 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 28 octobre 2011 43
9 mars 2010 à 17:33
ok merci bien :D
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
juliendangers Messages postés 226 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 28 octobre 2011 43
9 mars 2010 à 17:56
tu m'as sauvé la vie :D j'ai utiliser le php pour le faire ;)
comment n'y ai-je pas pensé :s en tout cas merci bien tout marche :p
0