Php/mysql probleme update
Résolu
jupiter
-
jupiter -
jupiter -
Bonjour,
ja i ce script qui affiche bien ce que je veux mais l update ne fonctionne pas j ne comprends pas pourquoi ...
Merci de votre aide
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN"
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html Xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>DVD</title>
<link href="formulaire.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center">
<a href="https://www.google.com/?gws_rd=ssl"><IMG SRC="images/dvd.jpg" ALT="dvd" TITLE="dvd" BORDER="no" width="500px" height="250px" ></a>
</div>
<p><p/>
<p><p/>
<p><p/>
<fieldset id="field">
<br />
<?php
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'root');
define('DB_SERVER_PASSWORD', '');
define('DB_DATABASE', 'mediapourvous');
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
mysql_select_db(DB_DATABASE, $connect);
$rq = "SELECT id, dvd FROM support";
$result = mysql_query($rq) or die ("Exécution de la requête impossible");
echo "<form action='dvd.php' method='post'><select name='dvd'>";
while ($liste=mysql_fetch_array($result))
{
extract($liste);
if(isset($_POST['dvd']) && $dvd == $_POST['dvd'])
echo "<option value='$dvd' selected>$dvd\n";
else
echo "<option value='$dvd'>$dvd\n";
}
echo "</select>\n";
echo "<input type='submit'"."value='Go'></form>\n";
if(isset($_POST['dvd']))
{
$sql = "SELECT * FROM support WHERE dvd='".$_POST['dvd']."'" ;
$req = mysql_query($sql) or die( mysql_error() ) ;
$total = mysql_num_rows($req);
{
echo '<form method ="post" action="dvd.php">';
echo '<table>'."\n";
echo '<tr>';
echo '<th ><b>dvd</b></th>';
echo '<th ><b>cd</b></th>';
echo '<th><b>cassette</b></th>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req))
{
echo '<tr>';
echo '<td>'.$_POST['dvd'].'</td>';
echo '<td><textarea row="3" name="dvd" value=votre texte />
Réf:
titre:
</textarea></td>';
echo '<td><textarea row="4" name="cd" value=votre texte />
Réf:
titre:
</textarea></td>';
echo '<td><textarea row="3" name="casette" value=votre texte />
Réf:
titre:
</textarea></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '<input type="hidden" name="dvd2" value="'.$_POST['dvd'].'" /><br><input type="submit" name="ok" value="Modifier"/>';
echo '</form>';
}
}
if (isset($_POST['ok']))
{
echo $sql2= "UPDATE support SET dvd='".$_POST['dvd']."', cd='".$_POST['cd']."', cassette='".$_POST['cassette']."',
WHERE dvd='".$_POST['dvd2']."'";
$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
}
if(isset($req2))
{
echo '<form method="POST" action="support2.php" enctype="multipart/form-data">';
echo '<table>'."\n";
echo '<tr>';
echo '<td><input type="hidden" name="MAX_FILE_SIZE" value="10000000"></td>';
echo '<td>Joindre la pochette de votre support : <input type="file" name="fichier">/n</td>';
echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>';
echo '</tr>'."\n";
echo '</table>'."\n";
echo '<input type="submit" name="Ok" value="Modifier"/></center>';
echo '</form>';
}
?>
</fieldset>
</div>
</body>
</html>
ja i ce script qui affiche bien ce que je veux mais l update ne fonctionne pas j ne comprends pas pourquoi ...
Merci de votre aide
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN"
"http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd">
<html Xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>DVD</title>
<link href="formulaire.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div align="center">
<a href="https://www.google.com/?gws_rd=ssl"><IMG SRC="images/dvd.jpg" ALT="dvd" TITLE="dvd" BORDER="no" width="500px" height="250px" ></a>
</div>
<p><p/>
<p><p/>
<p><p/>
<fieldset id="field">
<br />
<?php
define('DB_SERVER', 'localhost');
define('DB_SERVER_USERNAME', 'root');
define('DB_SERVER_PASSWORD', '');
define('DB_DATABASE', 'mediapourvous');
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
DB_SERVER_PASSWORD)
or die('Impossible de se connecter : ' . mysql_error());
mysql_select_db(DB_DATABASE, $connect);
$rq = "SELECT id, dvd FROM support";
$result = mysql_query($rq) or die ("Exécution de la requête impossible");
echo "<form action='dvd.php' method='post'><select name='dvd'>";
while ($liste=mysql_fetch_array($result))
{
extract($liste);
if(isset($_POST['dvd']) && $dvd == $_POST['dvd'])
echo "<option value='$dvd' selected>$dvd\n";
else
echo "<option value='$dvd'>$dvd\n";
}
echo "</select>\n";
echo "<input type='submit'"."value='Go'></form>\n";
if(isset($_POST['dvd']))
{
$sql = "SELECT * FROM support WHERE dvd='".$_POST['dvd']."'" ;
$req = mysql_query($sql) or die( mysql_error() ) ;
$total = mysql_num_rows($req);
{
echo '<form method ="post" action="dvd.php">';
echo '<table>'."\n";
echo '<tr>';
echo '<th ><b>dvd</b></th>';
echo '<th ><b>cd</b></th>';
echo '<th><b>cassette</b></th>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($req))
{
echo '<tr>';
echo '<td>'.$_POST['dvd'].'</td>';
echo '<td><textarea row="3" name="dvd" value=votre texte />
Réf:
titre:
</textarea></td>';
echo '<td><textarea row="4" name="cd" value=votre texte />
Réf:
titre:
</textarea></td>';
echo '<td><textarea row="3" name="casette" value=votre texte />
Réf:
titre:
</textarea></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
echo '<input type="hidden" name="dvd2" value="'.$_POST['dvd'].'" /><br><input type="submit" name="ok" value="Modifier"/>';
echo '</form>';
}
}
if (isset($_POST['ok']))
{
echo $sql2= "UPDATE support SET dvd='".$_POST['dvd']."', cd='".$_POST['cd']."', cassette='".$_POST['cassette']."',
WHERE dvd='".$_POST['dvd2']."'";
$req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
}
if(isset($req2))
{
echo '<form method="POST" action="support2.php" enctype="multipart/form-data">';
echo '<table>'."\n";
echo '<tr>';
echo '<td><input type="hidden" name="MAX_FILE_SIZE" value="10000000"></td>';
echo '<td>Joindre la pochette de votre support : <input type="file" name="fichier">/n</td>';
echo '<td><input type="text" name="album" value="'.$row["album"].'"/></td>';
echo '</tr>'."\n";
echo '</table>'."\n";
echo '<input type="submit" name="Ok" value="Modifier"/></center>';
echo '</form>';
}
?>
</fieldset>
</div>
</body>
</html>
A voir également:
- Php/mysql probleme update
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
5 réponses
voir commentaires et corrections:
if (isset($_POST['ok'])) {//il ne faut pas mettre l'echo devant $sql2 $sql2= "UPDATE support SET dvd='".$_POST['dvd']."', cd='".$_POST['cd']."', cassette='".$_POST['cassette']."', WHERE dvd='".$_POST['dvd']."'"; //ensuite pourqoui passes tu par un champ caché dvd2 qui ne prend une valeur qu'au deuxième chargemnt de la page hors il me semble que tu fais ton UPDATE juste avant //donc mets simplement $_POST['dvd'] $req2= mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error()); } //if(isset($req2)) //ça c'est un test bidon, isset veut est ce que la variable est déclarée ou existe , tu la décklare jsute au dessus //mets: if($req2){ //si la requette true donc n'a pas retourné false {
Bonjour
merci pour toutes ces remarques alors :
"//il ne faut pas mettre l'echo devant $sql2" : vi c'était juste pour voir si moa requête se passait bien :-)
"ensuite pourquoi passes tu par un champ caché dvd2 qui ne prend une valeur qu'au deuxième chargement de la page hors il me semble que tu fais ton UPDATE juste avant' : Sinon il n me récupère pas le POST et ne sait pas dans quel champ écrire ....
avec ta suggestion j obtiens ca : 'WHERE dvd=''' et avec mon champ cache j obtiens ça 'WHERE dvd='dvd 1''
//if(isset($req2)) //ça c'est un test bidon, isset veut est ce que la variable est déclarée ou existe , tu la décklare jsute au dessus : oki merci pour l'info je viens de modifier
Cependant j ai toujours mon problème d'update et je ne m en sors pas voila le message que j obtiens :
Erreur SQL !UPDATE support SET dvd='Réf: 10 titre: ', cd='ref: titre: ', cassette='Réf: titre: ', WHERE dvd='Dvd 1'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE dvd='dvd 1'' at line 2
merci pour toutes ces remarques alors :
"//il ne faut pas mettre l'echo devant $sql2" : vi c'était juste pour voir si moa requête se passait bien :-)
"ensuite pourquoi passes tu par un champ caché dvd2 qui ne prend une valeur qu'au deuxième chargement de la page hors il me semble que tu fais ton UPDATE juste avant' : Sinon il n me récupère pas le POST et ne sait pas dans quel champ écrire ....
avec ta suggestion j obtiens ca : 'WHERE dvd=''' et avec mon champ cache j obtiens ça 'WHERE dvd='dvd 1''
//if(isset($req2)) //ça c'est un test bidon, isset veut est ce que la variable est déclarée ou existe , tu la décklare jsute au dessus : oki merci pour l'info je viens de modifier
Cependant j ai toujours mon problème d'update et je ne m en sors pas voila le message que j obtiens :
Erreur SQL !UPDATE support SET dvd='Réf: 10 titre: ', cd='ref: titre: ', cassette='Réf: titre: ', WHERE dvd='Dvd 1'
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE dvd='dvd 1'' at line 2
pour info quand je met ma requette dans phpmyadmin voila le resultat
ERROR: Apostrophe non fermé @ 179
STR: '
ERROR: Apostrophe non fermé @ 179
STR: '
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question