Vous n'êtes pas identifié(e).
Pages :: 1
bonjour
j'ai un problem dans la modification
le problem il affiche la fiche modification mais au lieu de modifier il ajoute une autre line
svp aide moi a trouver la solution du problem du modification
je vous donne les trois script
merci d'avance
fichier traitformodif.php
Hors ligne
salut,
quelle est la valeur de $id_for ?
a++
Hors ligne
Saluton,
il affiche la fiche modification mais au lieu de modifier il ajoute une autre ligne
Au vu du script, c'est tout bonnement impossible.
Rien ne permet de transformer une requête UPDATE en requête INSERT.
A moins qu'il y ait un trigger déclaré sur la table, ce qui me surprendrait beaucoup.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
SVP la réponce plue claire
j'ai rien pigé
Hors ligne
essai de voir je vous donne les trois script lier
fichier forpage.php
//Nombre d'élément par page
$messagesParPage=7;
//Nous récupérons le contenu de la requête dans $retour_total
$retour_total = mysql_query("SELECT COUNT(*) AS id_for FROM fournisseur");
//On range $retour_total sous la forme d'un tableau.
$donnees_total=mysql_fetch_assoc($retour_total);
//On récupère le total pour le placer dans la variable $total. $total correspond au nombre total de commentaires
$total=$donnees_total['id_for'];
echo 'Nombre de message : '.$total.'<br/>';
//Nous allons maintenant compter le nombre de pages. On fait donc une simple division .
//ceil —>Arrondit le chiffre au nombre supérieur si il n'est pas entier
$nombreDePages=ceil($total/$messagesParPage);
echo 'Nombre de page : '.$nombreDePages.'<br/>';
// Si la variable $_GET['page'] existe...
if(isset($_GET['page']))
{
//$pageActuelle correspond au numéro de la page ou l'on se trouve.
//intval — Retourne la valeur numérique entière équivalente d'une variable
$pageActuelle=intval($_GET['page']);
echo 'On se trouve sur la page numéro : '.$pageActuelle.'<br/>';
// Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
if($pageActuelle>$nombreDePages)
{
$pageActuelle=$nombreDePages;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}
// On calcul la première entrée à lire
$premiereEntree=($pageActuelle-1)*$messagesParPage;
echo 'Première entrée : '.$premiereEntree.'<br/>';
//Si il n'y a rien
if($total == 0){
echo '<p><strong>Aucun article pour le moment :(!</strong></p>';
}
else
{
// La requête sql pour récupérer les articles de la page actuelle.
$retour_messages=mysql_query('SELECT * FROM fournisseur ORDER BY id_for ASC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
//fin de la 1ere partie de la pagination
// début du tableau
{
echo '<fieldset><legend><big class="t"><b>Tableau affichage</b></big></legend><table bgcolor="#999999" align="center">'."\n";
// première ligne on affiche les titres item article,item famille article dans 4 colonnes
echo '<tr>';
echo '<td bgcolor="#7FAFC3"><b><u>Code fournisseur</u></b></td>';
echo '<td bgcolor="#7FAFC3"><b><u>Nom </u></b></td>';
echo '<td bgcolor="#7FAFC3"><b><u>Adresse </u></b></td>';
echo '<td bgcolor="#7FAFC3"><b><u>Téléphone</u></b></td>';
echo '<td bgcolor="#7FAFC3"><b><u>Fax </u></b></td>';
echo '<td bgcolor="#7FAFC3"><b><u>E-mail </u></b></td>';
echo '<td bgcolor="#7FAFC3"><b><u>Site web </u></b></td>';
echo '<td colspan="2" align="center" bgcolor="#7FAFC3"><b><u>Action</u></b></td>';
echo '</tr>'."\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.
while($row=mysql_fetch_assoc($retour_messages))
{
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$row['id_for'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['n_for'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['ad_for'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['t_for'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['fa_for'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['e_for'].'</td>';
echo '<td bgcolor="#CCCCCC">'.$row['s_for'].'</td>';
echo '<td><form method="get" action="p.php">
<input type="hidden" name="id" value="'.$row['id_for'].'" />
<input type ="submit" value="supprimer" />
</form></td>';
echo'<td><a href="m.php?id_for='.$row["id_for"].'">Modifier</a></td>';
echo '</tr></fieldset>'."\n";
}
echo '</table>'."\n";
}
//pagination 2ieme partie
//Pour l'affichage, on centre la liste des pages
echo '<div align="center">Page : ';
//Cette partie affiche uniquement Suivant et Précédent
$suivant=$pageActuelle+1;
$precedent=$pageActuelle-1;
if($precedent>=1){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$precedent.'">Précédent - </a>';
}
if($suivant<=$nombreDePages){
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$suivant.'">Suivant</a>';
}
echo '<br/>';
//Cette partie affiche une pagination complète de toutes les pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' [ '.$i.' ] ';
}
else //Sinon...
{
echo ' <a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i.'</a> ';
}
}
echo '</div>';
//fin pagination 2ieme partie
mysql_close();
}
?>
fichier m.php
// on se connecte à la base de données
mysql_connect("localhost","root","");
mysql_select_db("bdd") or die('Impossible de sélectionner une base
de donnée. Assurez vous d\'avoir correctement remplit les données de
connections.');
$requete=mysql_query("SELECT * FROM fournisseur where id_for='$id_for'")or die(mysql_error());
While ($tableau=mysql_fetch_array($requete))
{
$id_for=$tableau['id_for'];
$n_for=$tableau['n_for'];
$ad_for=$tableau['ad_for'];
$t_for=$tableau['t_for'];
$fa_for=$tableau['fa_for'];
$e_for=$tableau['e_for'];
$s_for=$tableau['s_for'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Page acceuil</title>
</head>
<body onLoad="getDt()">
<table width="100%" border="0" align="center">
<tr>
<td colspan="18" align="center"><div class="art-9"><IMG SRC="image/1.gif" WIDTH=781 HEIGHT=347 ALT="header" a></div></td>
</tr>
<tr>
<td colspan="13">
<div class="art-nav">
<div class="l"></div>
<ul class="art-menu">
<li><a href="#" class=" active"><span class="l"></span><span class="r"></span><span class="t">Acceuil</span></a></li>
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">About</span></a></li>
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Services</span></a></li>
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Solutions</span></a></li>
<li><a href="#"><span class="l"></span><span class="r"></span><span class="t">Contact</span></a></li>
</ul>
</div></div></td>
<td align="right"><SCRIPT LANGUAGE="JavaScript">document.write(Message);</SCRIPT></td><td><noscript></noscript>
<div id="display"></div></td>
<td><SCRIPT language="JavaScript" title="G1SCRIPT"></SCRIPT></td></tr>
<tr><td colspan="15"><?php
include ("menu1.php");
?></td>
</tr>
</table>
<table border="1"; cellpadding=7px; cellspacing=4px; bgcolor="#777777" align="center" width="100%">
<tr><td>
<table class="table3" align="center">
<tr>
<td>Famille Fournisseur</td></tr></table></td></tr>
<tr><td>
<table class="table4" align="center"><tr><td class="t">
<form method="post" action="traitformodif.php">
<fieldset>
<legend><big><b>Fiche fournisseur</b></big></legend></br></br>
<label>Code fournisseur: </label><input type="text" name="id_for" maxlength="11" value="<?php echo"$id_for" ;?>"/>
<label>Nom Fournisseur: </label>
<input type="text" name="n_for" maxlength="20" value="<?php echo"$n_for" ;?>"/>
<label> Adresse:</label>
<input type="text" name="ad_for" maxlength="25" size="25" value="<?php echo"$ad_for" ;?>"/><br/></br>
<label> Tel: </label>
<input type="text" name="t_for" maxlength="20" value="<?php echo"$t_for" ;?>"/>
<label> Fax : </label><input type="text" name="fa_for" maxlength="20" value="<?php echo"$fa_for" ;?>"/>
<label> E-mail: </label>
<input type="text" name="e_for" maxlength="20" value="<?php echo"$e_for" ;?>"/><br/></br>
<label> Site Web du fournisseur: </label>
<input type="text" name="s_for" maxlength="20" value="<?php echo"$s_for" ;?>"/><br/>
<input type="submit" value="Modifier"/><input type="reset" value="Annuler"></td>
</fieldset>
</form>
</td></tr></table>
</td></tr>
<tr><td>
<table class="table4" align="center"><tr><td>
<?php include_once("forpage.php"); ?></td></tr></table>
</td>
</tr>
</td></tr></table>
</body>
</html>
<?php
}
?>
fichier traitformodif.php
Hors ligne
cé l'bordel
a++
Hors ligne
Et ça n'utilise ni le wall, ni la coloration syntaxique.
Si ce n'est pas modifié rapidement, j'vas y aller à la tronçonneuse.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
j'ai déjà ce matin tronqué son post de 1439 lignes :D.
zi-vas, j'te laisse la main
a++
Hors ligne
Bon, je vais juste colorisé le code alors, mais il pourrait le faire lui-même, quoique, quand je lis sa prose à l'orthographe plus qu'approximative et que je vois ce galimatia de code, j'en doute.
Allez, ch'suis bon prince, pour cette fois.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
240 lignes de code quand même, et du lourd, avec de la mise en page par tableaux HTML et tout, à l'ancienne.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
En même temps, afficher des données dans un tableau, sémantiquement, ça se défend.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bon, mais je ne vois toujours pas où un aiguillage orienterait plus vers une requête en INSERT que vers une requête en UPDATE.
Ma remarque demeure donc pertinente.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
mk->
té bien bavard ce soir ?
a++
Hors ligne
Bonsoir,
Alors avec la colorisation (merci mk), j'y ai jeté un oeil furtif et... je confirme c'est un sacré binz.
1) Il y a une page qui envoie les infos en GET et l'autre en POST.
2) Le fichier forpage.php n'a pas de balise ouvrante <form> alors qu'il y en a une qui ferme. Et cette page est appelée en include à la suite du formulaire qui affiche le formulaire de mise à jour.
3) Je n'arrive pas à déterminer l'ordre d'appel des fichier^^
4) Il nous manque le fichier qui envoie les informations en GET à forpage.php.
Je devine l'erreur, car elle ne peut venir que d'un bouton submit qui post à la place d'un homologue d'un autre formulaire. L'imbrication des fichiers et l'absence de balise ouvrante <form> confirme mes soupçons, mais le manque d'informations fournies m'empêchent de dire où se trouve l'erreur.
++
PS: Juste comme ça, vu que MK à rappelé à Pierrot il n'y a pas si longtemps quel était censé être l'esprit de ce forum, je trouve la démarche de ce post très déplacée, dans le sens où Monsieur, qui n'est pas développeur du tout, nous appele à l'aide pour lui résoudre son problème, nous supplie pour le faire en très mauvais français qui plus est. Alors 1) ce forum ne s'appele par SOS pour site en panne gratos pour non développeur 2) Ce monsieur n'a rien à faire de nos conseils, il a juste besoin que son site fonctionne et ne commencera pas le développement PHP grâce à nous 3) je ne réponds plus à ce post, car déjà je trouve en avoir fait beaucoup, et ça n'en mérite pas plus. Ma gentillesse me perdra.
Dernière modification par Jc (15-06-2011 22:47:58)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
On fait un peu bisounours là , non ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
MERCI JC MAITRE
merci comme meme
je veut jsute t'expliquer que hier j'ai pas pu te répondre parceque tous simplement j'ai pas la connexion a la maison
et le script je l'ai copier dans mon bureau (au boulot) c pas parce que je n'ai rein a foutre de vos conseils c juste j'ai pas pu
et tu sais j'aime développer en php et j'aime ce longage, et je fait un tres tres grand effort pour apprendre
merci
Hors ligne
>>et je fait un tres tres grand effort pour apprendre
le 1er effort à faire serai de rendre tout çà plus lisible.
Ce devrai être la 1er contrainte
a++
Hors ligne
Bonjour,
@beloufa : Tu as relu la demande de ton post? 1) on te connait pas : tu es nouveau 2) Que veux-tu que l'on pense d'autre????
@mk : Quand on post un petit problème, seul les modos répondent, ca montre bien l'intérêt des autres à y répondre et leur motivation. Ca fait bien longtemps qu'on est des bisounours sur ce forum, toi y compris MK
Dernière modification par Jc (16-06-2011 10:43:49)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bon, alors on est des bisounours.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Pages :: 1