Souci avec mon script pour afficher

Fermé
bugs20007 Messages postés 196 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 21 janvier 2010 - 16 janv. 2008 à 01:42
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 16 janv. 2008 à 01:58
Bonjour,

J'ai un petit souci avec mon script.
Quand je clique sur le lien affiche, normalement il doit n'afficher que la ligne, mais enfaite la page ce recharge et rien ne change, tous les annonces presente reste afficher

Voici mon code :
<?

include("include.php");
?>
<table border=1>
<tr><td><a href='execute.php'>Mode Adminstrateur mormal</a></td></tr>
<tr><td><a href='formulaire1.php?action=insert'>ajouter une nouvelle annonce</a></td></tr>
</table>

<?
$_POST[model]."<br>";
$_POST[couleur]."<br>";
$_POST[mec]."<br>";
$_POST[km]."<br>";
$_POST[energie]."<br>";
$_POST[puissance]."<br>";
nl2br(stripslashes($_POST[opt]))."<br>";
nl2br(stripslashes($_POST[comm]))."<br>";
$_POST[prix];


mysql_select_db ($nomdelabase, $connection);

// pour supprimer, modifier, ajouter une annonce

if( $_GET['action'] == "suppr" ) {

$requetesupprime = "DELETE FROM annonce WHERE numero='".$_GET['num']."' ";
mysql_query ($requetesupprime, $connection);
} elseif( $_GET[action] == "modif" ) {

$requetemodifier = "UPDATE annonce SET numero='$_GET[num]', model='$_POST[model]', couleur='$_POST[couleur]', mec='$_POST[mec]', km='$_POST[km]', energie='$_POST[energie]', puissance='$_POST[puissance]', opt='$_POST[opt]', comm='$_POST[comm]', prix='$_POST[prix]' WHERE numero='$_GET[num]' ";
mysql_query ($requetemodifier, $connection);
} elseif($_GET[action] == "insert" ) {

$requetecreation = "INSERT annonce SET numero='', model='$_POST[model]', couleur='$_POST[couleur]', mec='$_POST[mec]', km='$_POST[km]', energie='$_POST[energie]', puissance='$_POST[puissance]', opt='$_POST[opt]', comm='$_POST[comm]', prix='$_POST[prix]' ";
mysql_query ($requetecreation, $connection);
} elseif($_GET[action] == "affiche" ) {

$requeteaffiche = "SELECT FROM annonce SET numero='', model='$_POST[model]', couleur='$_POST[couleur]', mec='$_POST[mec]', km='$_POST[km]', energie='$_POST[energie]', puissance='$_POST[puissance]', opt='$_POST[opt]', comm='$_POST[comm]', prix='$_POST[prix]' ";
mysql_query ($requeteaffiche, $connection);
}

$requete = "SELECT * FROM annonce ORDER BY numero DESC";



$resultat = mysql_query ($requete, $connection);


?>
<table align=center border=1>
<?
while ($test = mysql_fetch_row($resultat)) {



$i=0;

list ($numero, $model, $couleur, $mec, $km, $energie, $puissance, $opt, $comm, $prix) = $test;


echo '<tr><td>';
echo $model;
echo '</td><td>';
tousletexte($couleur);
echo '</td><td>';
tousletexte($mec);
echo '</td><td>';
tousletexte($km);
echo '</td><td>';
tousletexte($energie);
echo '</td><td>';
tousletexte($puissance);
echo '</td><td>';
tousletexte($opt);
echo '</td><td>';
tousletexte($comm);
echo '</td><td>';
tousletexte($prix);
echo '</td><td>';
echo "<a href='execute1.php?num=$numero&action=suppr'>Supprimer</a>";
echo '</td><td>';
echo "<a href='formulaire1.php?num=$numero&action=modif'>Modifier</a>";
echo '</td><td>';
echo "<a href='execute1.php?num?num=$numero&action=affiche'>affiche</a>";
echo '</td></tr>';
}
?>
</table>


Merci de m'aide ca fait 2 semaines que je bloque dessus.

1 réponse

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 921
16 janv. 2008 à 01:58
salut,

de ce que je décode vite fait, tu exécutes toujours la même requête ('"SELECT * FROM annonce ORDER BY numero DESC";') et '$resultat' vaut toujours la même chose ('$resultat = mysql_query ($requete, $connection); ') donc tu affiches toujours la même chose.

en indentant ton code tu devrais mieux comprendre l'architecture logique de ton code.
pour moi, ton script devrait plutôt ressembler à ça :
<?php
if( $_GET['action'] == "suppr" )
{
	$requete = "DELETE FROM annonce WHERE numero='".$_GET['num']."' ";
}
elseif( $_GET[action] == "modif" )
{
	$requete = "UPDATE annonce SET numero='$_GET[num]', model='$_POST[model]', couleur='$_POST[couleur]', mec='$_POST[mec]', km='$_POST[km]', energie='$_POST[energie]', puissance='$_POST[puissance]', opt='$_POST[opt]', comm='$_POST[comm]', prix='$_POST[prix]' WHERE numero='$_GET[num]' ";
}
elseif($_GET[action] == "insert" )
{
	$requete = "INSERT annonce SET numero='', model='$_POST[model]', couleur='$_POST[couleur]', mec='$_POST[mec]', km='$_POST[km]', energie='$_POST[energie]', puissance='$_POST[puissance]', opt='$_POST[opt]', comm='$_POST[comm]', prix='$_POST[prix]' ";
}
elseif($_GET[action] == "affiche" )
{
	$requete = "SELECT FROM annonce SET numero='', model='$_POST[model]', couleur='$_POST[couleur]', mec='$_POST[mec]', km='$_POST[km]', energie='$_POST[energie]', puissance='$_POST[puissance]', opt='$_POST[opt]', comm='$_POST[comm]', prix='$_POST[prix]' ";
}
else
{
	$requete = "SELECT * FROM annonce ORDER BY numero DESC";
}
$resultat = mysql_query ($requete, $connection); 
?>

si telle action est définie, alors la requête est…
sinon la requête est l'affichage complet…
et dans tous les cas, on exécute la requête.

qu'en penses-tu ?
0