Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2011, 03h28   #1
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Par défaut Mise a jour info dans BDD

Bonjour,

Je voudrais sauvegarder du texte ecrit dans un textarea dans ma BDD qui soit en lien avec un ID.
Un fois enregistre je voudrais pouvoir modifier le texte et le reenregistrer a la place de l'ancien .

L'enregistrement se passe bien mais pas la mise a jour. Au lieu de modifier les id existante il creer de nouvelle ID a chaque fois.

Ma methode n'est pas bonne?

Fichier save_utilisateur.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
echo "<form method=post name=f1 action='save_utilisateur1.php'>";
 
$sql = "SELECT * FROM menu  WHERE id IN ('1','2','3') ";
$requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
 
 
while( $result = mysql_fetch_array( $requete) )
{
 
echo '<table width="435" border="0" cellspacing="2" cellpadding="0">
 
  <tr>
    <td width="200"><span class="Style5" >'.stripslashes($result["nom"]).'</span></td>
  </tr>
  <tr>
    <td><span class="Style6" ><textarea COLS=55 ROWS=2  id='.$result["id"].' name='.$result["id"].'>  </textarea></span></td>
  </tr>
  <tr>
 
    <td></td>
    <td></td>
  </tr>
 
  </table>';
 
 
}
 ?>
 
 <input type="submit" name="send" value="Ecrire votre Commentaire " >
Fichier save_utilisateur1.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$sql = "SELECT * FROM menu  WHERE id IN ('1','2','3') ";
$requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
 
while( $result = mysql_fetch_array( $requete) )
{
$saveuser=$_POST[$result['id']];
 
$linkId1=$result['id'];
 
$result1 = mysql_query('SELECT linkId FROM saveuser WHERE linkId=$linkId1');
if (!$result1) {
 
mysql_query("INSERT INTO saveuser(info, linkId) VALUES('$saveuser','$result[id]')");
 
  }
ELSE
 {
echo $linkId1;
mysql_query("UPDATE saveuser SET info = '$saveuser' ") ;
 
 
 }
 
}
Merci de votre aide
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 09h54   #2
Membre régulier
 
Homme
Chef de projet NTIC
Inscription : juin 2007
Messages : 69
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Chef de projet NTIC
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2007
Messages : 69
Points : 70
Points : 70
Salut voyageurdumonde,

Déjà ta requête UPDATE ne contient de clause WHERE pour ton ID, du coup si jamais elle s'exécute elle va mettre à jour toute ta table

Ta commande
Code :
mysql_query('SELECT linkId FROM saveuser WHERE linkId=$linkId1');
te reverra un FALSE en cas d'erreur d'exécution et non pas si aucun résultat n'est retourné.
Remplaces
Code :
1
2
3
 
$result1 = mysql_query('SELECT linkId FROM saveuser WHERE linkId=$linkId1');
if (!$result1)
par
Code :
1
2
3
 
$result1 = mysql_fetch_row(mysql_query('SELECT linkId FROM saveuser WHERE linkId=$linkId1');)
if (sizeof($result1)<=0)
Cobalt59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 13h39   #3
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
Bonjour et merci Cobalt59 pour ton aide

J'ai change comme tu me l'as ecris mais maintenant j'ai:

Code :
1
2
$result1 = mysql_fetch_row(mysql_query('SELECT linkId FROM saveuser WHERE linkId=$linkId1');)
if (sizeof($result1)<=0)
j'ai comme message

Citation:
Parse error: syntax error, unexpected ';' in /home/voyageur/bonplanvoyage.com/1/save_utilisateur1.php on line 33
et si j'ecris

Code :
1
2
$result1 = mysql_fetch_row(mysql_query('SELECT linkId FROM saveuser WHERE linkId=$linkId1'));
if (sizeof($result1)<=0)
Citation:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/voyageur/bonplanvoyage.com/1/save_utilisateur1.php on line 33
1
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/voyageur/bonplanvoyage.com/1/save_utilisateur1.php on line 33
2
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/voyageur/bonplanvoyage.com/1/save_utilisateur1.php on line 33
3
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 13h42   #4
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 386
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : Biens de consommation

Informations forums :
Inscription : janvier 2007
Messages : 386
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
et si tu faisais :

Code :
$result1 = mysql_fetch_row(mysql_query('SELECT linkId FROM saveuser WHERE linkId="'.$linkId1.'"'));
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 14h33   #5
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
assurément l'alternative numéro deux est moins grave, même s'il y a plus de ligne, tu passes d'une erreur lors de la "compilation" à une erreur d’exécution.

ensuite tu cherches à faire quelque chose d'assez original avec les mysql_query() et mysql_fetch() ... puisque ça ne marche pas contente toi de lire la doc et de reprendre l'agencement des fonctions comme dans l'exemple de la doc.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 14h36   #6
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
[FLOOD]
J'ai lu /home/voyeur/bonplanvoyeur.com/1/save_utilisateur1.php


Me suis dit "oops, la boulette"
[/FLOOD]
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 18h13   #7
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
chacun ces loisirs radicaldreamer, je n'ai aucun probleme avec cela , pour ma part, je suis plus oriente voyage.

Je vais regarder le code ce soir en revenant du travail.

Merci
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 00h00   #8
Membre habitué
 
Inscription : décembre 2007
Messages : 392
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : décembre 2007
Messages : 392
Points : 118
Points : 118
J'ai fait un mixe de toutes vos reponses et j'arrive a ce resultat qui fonctionne:

Code :
1
2
3
4
5
$sql1 = "SELECT linkId FROM saveuser WHERE linkId='$linkId1'";
$requete1 = mysql_query( $sql1, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
 
$result1 = mysql_fetch_row($requete1);
if (!$result1) {
Merci de votre aide
voyageurdumonde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h24.


 
 
 
 
Partenaires

Hébergement Web