begin process at 2012 05 30 16:48:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Multiple Update MySQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Multiple Update MySQL

mardi 20 juin 2006 à 20:06:25 | Multiple Update MySQL

paul13

Bon, comme je ne sais pas trop comment poser la question, voila le contexte.

Depuis une page en php me servant à requeter dans la base MySQL, je peux faire des inserts sur plusieurs lignes et plusieurs champs en une passe. Ok. C'est bien pratique.

'INSERT IGNORE INTO `admin` (`id`, `nom`, `titre`, `numero`, `administrateur`, `id_level`, `valeur`) VALUES ' ; ?><?php $text = stripslashes($textfield) ;?><?php echo trim($text, ",").";"; ?>
ensuite la liste des valeurs. 3, 5, 10, 100, lignes d'un coup ça roule

Tout ça c'est ok

Question : Je tente de réaliser la meme démarche depuis une page en php me servant à requeter (je me répète) et là, non plus en INSERT mais en UPDATE et ben ça veut pas. Je suis pas balaise ça fait que 7 heures que je bosse sur la commande et que je cherche un exemple , mais bon jusqu'à présent, rien de concluant.

L'UPDATE ressemble à ça

UPDATE `table_1`
SET
`nom` = 'blabla',
`titre` = 1 ,
`numero` = 2 ,
`administrateur` = 'blablabla' ,
`id_level` = 1 ,
`valeur` = 2 ,
 WHERE
`id` =34;

UPDATE `table_1`
SET
`nom` = 'boubou',
`titre` = 1 ,
`numero` = 3 ,
`administrateur` = 'blablabla' ,
`id_level` = 1 ,
`valeur` = 2 ,
 WHERE
`id` =35;

ça copier dans mon formulaire ça passe pas erreur MySQL, ça donne

UPDATE `table_1` SET `nom` = 'blabla', `titre` = 1 , `numero` = 2 , `administrateur` = 'blablabla' , `id_level` = 1 , `valeur` = 2  WHERE `id` =34; UPDATE `table_1` SET `nom` = 'boubou', `titre` = 1 , `numero` = 3 , `administrateur` = 'blablabla' , `id_level` = 1 , `valeur` = 2  WHERE `id` =35;
Erreur 1064 : 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 '; UPDATE `table_1` SET `nom` = 'blabla', `titre` = 1 , `nu

Mais la meme chose copier dans le SQL TEXTAREA de phpmyadmin passe comme une lettre à la poste 'quand elle est pas en grève' lol

Voili voilou
Je continue à chercher et je reviens dès que j'ai du news.

Si y'en à un ou une qui aurait déjà rencontrer ce contexte je suis preneur d'infos à++ 

paulo

mardi 20 juin 2006 à 22:41:47 | Re : Multiple Update MySQL

J_G

Réponse acceptée !
Ben dis, pour 7 heures de MySQL, t'es plutôt sur la bonne voix !

Bon, il y'aurit une virgule de trop avant chaque WHERE

`valeur` = 2 ,
 WHERE
`id` =34;

Sinon, ça à l'air correct...

Je te laisse regarder la doc MySQL pour les histoire de version (et autre) :


13.1.10. Syntaxe de UPDATE



Bonne chance.

mardi 20 juin 2006 à 23:55:19 | Re : Multiple Update MySQL

coucou747

Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

cette erreur suffit...

en php, une seule requette par mysql_query... c'est la règle...


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
mercredi 21 juin 2006 à 02:00:44 | Re : Multiple Update MySQL

capoueidiablo

Réponse acceptée !
coucou747 à tout a fait raison :D, je me suis heurté aux même problème y'a pas longtemps mais sur des insertions dans la base ...

au final j'ai créé un tableau contenant toute mes requetes et j'ai lancé un foreach sur le tableau pour récup les requetes une a une et les executer les unes arpres les autres ... :D

--=Capoueidiablo=--
mercredi 21 juin 2006 à 10:34:51 | Re : Multiple Update MySQL

J_G

Réponse acceptée !

query

Une requête SQL

La chaîne de requête ne doit pas se terminer par un point-virgule.

Voilà ce que je lis dans la doc de mysql_query... C'est hallucinant car j'ai toujours terminé mes requètes par un point virgule !?! Pensant bien faire. et j'ai jamais eu de problème.
Etonnant !
mercredi 21 juin 2006 à 15:20:31 | Re : Multiple Update MySQL

paul13

Réponse acceptée !

Merci de chercher avec moi une solussastuce à ce malin souci.

Réponse à J_G, bien vu pour la virgule mais afin d'ecourter la liste des champs à mettre à jour j'en ai virer quelques uns et j'ai pas virer la derniere virgule avant where. Ceci fait et verifier ça n'a pas résolu le probleme.

Concernant le point virgule en fin de chaine de requete c'est vrai et enchainer deux requetes update dans le SQL TEXTAREA de phpmyadmin fonctionne. Evidemment après avoir testé dans le TEXTAREA de ma page ça bug.

D'accord aussi avec coucou747 et capoueidiablo une seule requete par mysql_query mais une requete peut 'entre guillemet' englober un ensemble ou sous ensemble d'action. Par exemple un INSERT peut permettre d'entrer en une passe 1, 10 100 10000 lignes, de plusieurs champs, dans MySQL, je le sais je le fais, par une methode pas très orthodoxe, peut etre au yeux des puristes mais ça fonctionne. Je fais plusieurs action dans un formulaire ensuite je génère mais lignes avec While et ensuite je met en forme et j'envoie la requete INSERT.

Bon et bien pourquoi ça semble moins facile avec UPDATE certainement que je m'y prend pas très bien alors je vais chercher. Mais j'insiste sur le fait que copier, coller dans le SQL TEXTAREA de phpmyadmin fonctionne mais pas dans le TEXTAREA de ma page qui lui peut fonctionner en collant un ensemble INSERT. > leschamps > lesvaleurs.

Bon à part ça j'ai trouver ceci

//select query 


while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {

  $id = $row[id];
  $pref = $row[pref];

//you'll need to write the code for the rest of the table, the important bit is below

  print	"<td><input type='text' size='2' name=\"".$id."[pref]\" value=\"".$pref."\"> <input type='hidden' name =\"".$id."[id]\" value =\"".$id."\"></tr></td>

//include submit button here
}

// Then above all this I would have my conditional for the submit


if (isset($_POST[submit])) {
   
   foreach ($_POST as $key) {
          $id=$key[id];
          $pref=$key[pref];


          $query = "UPDATE table set pref= $pref where id = $id";

   }
}
Je vais tenter et voir. Si de votre coté vous avez une voie, je prends.
A++

Paulo

jeudi 22 juin 2006 à 12:01:10 | Re : Multiple Update MySQL

paul13

Réponse acceptée !
Bon Ben voilà

après moultes recherches par dela les horizons des forums lointains j'ai fini par trouver mon bonheur et
l'adapter à mes besoins
ça tiens en ceci

<form>
<?php
//préparation des valeurs à modifier
while (){
//édition de la liste
echo ....
}
//submit
?>
</form>

<?php
for ($i = 0; $i < count($_REQUEST['id'])+1; $i++) {
$admin = $_REQUEST['admin][$i];
$level = $_REQUEST['level'][$i];
$nom  = $_REQUEST['nom'][$i];
$titre = $_REQUEST['titre'][$i];
$id = $_REQUEST['id'][$i];
$query = "UPDATE stock SET admin='".$admin."',level='".$level."',nom='".$nom."',titre='".$titre."' WHERE id='".$id."'";
$result = mysql_query($query);
}
?>

c'était pas difficile, encore fallait il le savoir.

A++
jeudi 22 juin 2006 à 12:05:11 | Re : Multiple Update MySQL

paul13

Réponse acceptée !
Au fait Merci beaucoup à ceux qui se sont pencher avec moi sur ce probleme

Paulo


Cette discussion est classée dans : mysql, numero, titre, id, update


Répondre à ce message

Sujets en rapport avec ce message

Probleme d update [ par rymoucha ] bonjour,voila,  j'ai des requetes me permettant de faire des updates de chamops d'une table site.quand jexecute la requete tous les updates s'effectue probleme d'update [ par rymoucha ] bonjour,     j'ai ecris un code me permettant de faire de modifier des champs d'une table. le probleme, c'est que quand la requete s'execute, je ne re Problème de textarea, nl2br, mysql_real_escape_string avec mes objets [ par takinelinfo ] Bonsoir à tous,J'ai actuellement un gros soucis, avant toute chose voici mon code. J'ai fait en sorte qu'il soit le plus simplifié possible.require_on PHP MySQL et Cession : Problème lors d'un UPDATE de la table [ par cw75116 ] Bonsoir, ou plutôt bonjour à tous , Après de longues heures a chercher sur le net, me creuser les méninges je viens vous demander de l'aide . Sur m UPDATE [ par nicodu94 ] Bonjours a tous!!Je suis débutant en PHP, je suis en train de faire un back office et je suis bloqué sur ce code.Je souhaite afficher une donnee (de m Requete UPDATE Php/Mysql [ par Uebueb ] Bonjour,J'ai un probleme incompréhensible dans une des mes requetes UPDATE. Le truc c qu'elle fonctionne mais qu'elle ne rentre pas la totalité de la requete mysql [ par ikramta ] salut tout le monde. bon je veut ocupé l'identifiant des chambres qui ne sont pas inscrit dans la table reservation.mon problème estque cet requete m' Nombre de requêtes par page mal calculées. [ par Balafatch ] Bonjour, J'utilise un script de FAQ.  Par exemple sur la page http://www.10moi.fr/FAQ/afficher.php?id_faq=11 Il y a la totalité des questions de cett liste /menu à selection multiple [ par sousou8555 ] Bonjour,je developpe un intrant pour une ecole ,et j'ai  un souci ... j'ai crée une liste/menu à selection multiple ,cette liste se remplit dynamiquem FPDF et MySQL mise en page [ par bruno3591 ] Bonjour,Ca fait plusieurs jours que je cherche la solution , je m'en approche mais sans y arriver complètement, je fais donc appel à vos lumières :).C


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales