le 27/06/2011 à 16:29
problem avec update
bonjour
j'ai un problem de modification des enregistrement veuillez svp m'aider a trouver le problem
et surtout essai avant de me corriger le script veuillez simuler chez vous comme ca on sera sure parceque c fait 3 mois que je pose se problem sur les forum et franchement tous les réponse sont éroner merci d'avance
je vous envoie la base de donnee a creer
base de donnee (bdd)
creer la table famillearticle
Structure de la table `famillearticle`
--
CREATE TABLE IF NOT EXISTS `famillearticle` (
`id_fart` varchar(2) NOT NULL,
`li_art` varchar(20) NOT NULL,
PRIMARY KEY (`id_fart`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Contenu de la table `famillearticle`
--
INSERT INTO `famillearticle` (`id_fart`, `li_art`) VALUES
('0', 'ESZEE FFFFF'),
('cx', 'consommable xerox'),
('cd', 'consommable duplo'),
('dd', 'dfdfd'),
('xf', 'gfgfgf'),
('gf', 'gfg'),
('sd', 'sss'),
('xv', 'vcxvcx');
-- --------------------------------------------------------
le premier fichier: famart.php
deuxième fichier fichfamart.php
fichier traitfaart.php
troisième fichier: forpage.php
fichier modifamart.php
fichier : modification3.php
merci d'avance
j'ai un problem de modification des enregistrement veuillez svp m'aider a trouver le problem
et surtout essai avant de me corriger le script veuillez simuler chez vous comme ca on sera sure parceque c fait 3 mois que je pose se problem sur les forum et franchement tous les réponse sont éroner merci d'avance
je vous envoie la base de donnee a creer
base de donnee (bdd)
creer la table famillearticle
Structure de la table `famillearticle`
--
CREATE TABLE IF NOT EXISTS `famillearticle` (
`id_fart` varchar(2) NOT NULL,
`li_art` varchar(20) NOT NULL,
PRIMARY KEY (`id_fart`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Contenu de la table `famillearticle`
--
INSERT INTO `famillearticle` (`id_fart`, `li_art`) VALUES
('0', 'ESZEE FFFFF'),
('cx', 'consommable xerox'),
('cd', 'consommable duplo'),
('dd', 'dfdfd'),
('xf', 'gfgfgf'),
('gf', 'gfg'),
('sd', 'sss'),
('xv', 'vcxvcx');
-- --------------------------------------------------------
le premier fichier: famart.php
<table border="1"; cellpadding=7px; cellspacing=4px; bgcolor="#777777" align="center" width="100%">
<tr><td>
<table class="table3" align="center">
<tr>
<td>Famille Article</td></tr></table></td></tr>
<tr><td>
<table class="table4" align="center"><tr><td class="t">
<?php include_once("fichfamart.php"); ?></td></tr></table>
</td></tr>
<tr><td>
<table class="table4" align="center"><tr><td>
<?php include_once("forpage.php"); ?></td></tr></table>
</td>
</tr></table>
</td>
</td></tr></table>
</body>
</html>
deuxième fichier fichfamart.php
<form method="post" action="traitfaart.php" enctype="multipart/form-data" onsubmit="return(valider(this));">
<fieldset>
<legend><big><b>Fiche famille article</b></big></legend></br></br>
<label> Code de famille d'article : </label><input type="text" name="id_fart" maxlength="2" />
<label> Libellee de famille d'article : </label>
<input type="text" name="li_art" maxlength="20"/><br/>
<input type="submit" value="Ajouter"/><input type="reset" value="Annuler"></td>
</fieldset>
</form>
<form method="post" action="traitfaart.php" enctype="multipart/form-data" onsubmit="return(valider(this));">
<fieldset>
<legend><big><b>Fiche famille article</b></big></legend></br></br>
<label> Code de famille d'article : </label><input type="text" name="id_fart" maxlength="2" />
<label> Libellee de famille d'article : </label>
<input type="text" name="li_art" maxlength="20"/><br/>
<input type="submit" value="Ajouter"/><input type="reset" value="Annuler"></td>
</fieldset>
</form>
fichier traitfaart.php
<?php
if (isset($_POST['id_fart']) AND isset($_POST['li_art']))
{
$id_fart=$_POST['id_fart'];
$li_art=$_POST['li_art'];
mysql_connect("localhost", "root", "");
mysql_select_db("bdd");
mysql_query("INSERT INTO famillearticle VALUES ('$id_fart', '$li_art') ");
require_once('famart.php');
}
?>
troisième fichier: forpage.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("bdd");
//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="modifamart.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 modifamart.php
<?php
if(isset($_GET['id'])){
$id_fart=$_GET['id'];
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "bdd" ) ;
//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
//requête SQL:
$sql = "SELECT *
FROM famillearticle
WHERE id_fart = ".$id_fart ;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
if($result = mysql_fetch_object( $requete ));
{
?>
<form name="insertion" action="modification3.php" method="POST">
<input type="hidden" name="id" value="<?php echo($id_fart) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>code famille article</td>
<td><input type="text" name="id_fart" value="<?php echo($result->id_fart) ;?>"></td>
</tr>
<tr align="center">
<td>designation famille article</td>
<td><input type="text" name="li_art" value="<?php echo($result->li_art) ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
}
?>
fichier : modification3.php
<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "bdd" ) ;
//récupération des valeurs des champs:
//nom:
$id_fart = $_POST["id_fart"] ;
//prenom:
$li_art = $_POST["li_art"] ;
//récupération de l'identifiant de la personne:
$id_fart = $_POST["id_fart"] ;
//création de la requête SQL:
$sql = "UPDATE famillearticle
SET id_fart = '$id_fart',
li_art = '$li_art',
WHERE id_fart = '$id_fart' " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
echo("La modification à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?>
merci d'avance