begin process at 2010 02 10 08:38:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

requete SQL


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

requete SQL

lundi 8 mai 2006 à 23:33:52 | requete SQL

dgdg

Salut à tous !
j ai un petit prob
je cherche à modifier toute une table avec une requête dans un FOR ...

genre :
for($i=0;i<$taille;$i++){

if(exp...){
$sql="UPDATE categories SET nom='$nom',locked='1' WHERE  ordre='1' ";
}else{
$sql="UPDATE categories SET nom='$nom',locked='0' WHERE  ordre='1' ";
}

mysql_query($sql);
}
Y a t il une solution ???
je suis débutant...
mardi 9 mai 2006 à 07:57:43 | Re : requete SQL

spyro666

En fait tu n'est pas trop mal parti, à part le fait que si tu le fais de cette manière et que ta table compte 15'000 enregistrement tu mettra 15'000 * 0.015 s c'est à dire plus de 3 minutes juste pour mettre à jour 15'000 entrée.

Maintenant est ce que $nom est unique à chaque entrée ou est ce qu'elle est commune? Parce que comme tu fais ta requete là tu mets en fait à jour TOUTES les entrées ou ordre='1' et ça $taille fois.

En plus ton test est inutile aussi car les deux requêtes affectent les mêmes entrées en fin de compte.

Pourrais tu préciser de quelle manière tu voudrais modifier la table?

Spyro666 contre le 555
mardi 9 mai 2006 à 14:00:25 | Re : requete SQL

Guillemouze

ouais ca depend de ton test "exp...". si il depend de champs de la table, et sur une partie definie des enrgistrements, alors tu a surement un moyen de faire une seule ou quelques requetes.
Il nous faut juste un peu plus de details pour t'aider...
mardi 9 mai 2006 à 15:45:52 | Re : requete SQL

dgdg

En faite je fais un tri manuel en amont, et le but et de mettre à jour la table completement pour respecter un ordre donné... ($nom etant unique)

table sql -> champ 1 : ordre (auto_increment)
                  champ 2 : categorie
                  champ 3 : index_cat
                  champ 4 : locked

En amont j ai 2 tableaux     1-> categorie vu
                                         2->categorie cachée


$taille= la taille de la table sql  à modifier
$index1=0;
for.... $index<$taille  {
if( sizeof(tableau (categorie vu)) > $index) {
$sql="UPDATE categories SET nom='$nom',locked='0' WHERE  ordre='$index' ";
}else{
$nom=tableau[$index1] (nom des categories cachée)
$sql="UPDATE categories SET nom='$nom',locked='1' WHERE  ordre='$index' ";
$index1++;
}
mysql_query($sql);
}

(bien sur je fais des tests avant de passer dans ma boucle 
genre :  if( taille nouvelles donnees == taille table sql) ... 

Ce bout de code me semble plus qu affreux et comme dis "spyro666" avec 15000 enregistrements ca va être la mort 
j espere avoir été assez claire
merci à tous votre aide !!!
mardi 9 mai 2006 à 19:22:54 | Re : requete SQL

spyro666

Mais à la rigueur tu t'en fous de l'ordre dans lequel se trouvent les données dans ta base de donnée. Tu n'as qu'a faire un tri au moment ou tu veux récupérer les valeur ( grâce à ORDER BY).

Spyro666 contre le 555
mardi 9 mai 2006 à 23:30:13 | Re : requete SQL

Guillemouze

et il me semble que tu peu prendre juste les N premiers enregistrements. je crois qu'en postgres c la commande OFFSET, mais c ptetre different en MySQL
mercredi 10 mai 2006 à 12:36:35 | Re : requete SQL

spyro666

Oui effectivement c'est possible de limiter à partir d'un certain numéro de réponse et un certaine quantité :

Par ex :
"SELECT MAX(`champ_1`) FROM `table_1` WHERE `ordre`='".$nom."' LIMIT 0,30";

cette requete va récupérer les 30 premiers enregistrement avec le plus grand champ.

Spyro666 contre le 555
samedi 20 mai 2006 à 12:29:45 | Re : requete SQL

dgdg

pfffff bien sur ORDER BY....
desolé pour la question un peu  crmmmm crmmmm
fin de journée un peu à l ouest lol
en tout cas merci  à tous d avoir pris le temps de me répondre !
bonne prog



Cette discussion est classée dans : sql, requete, for, update, categories


Répondre à ce message

Sujets en rapport avec ce message

Update [ par refkaben ] Bonjour à tous;J'ai une requete Update, le syntaxe me parrait correcte mais ça ne fait rien, càd que les valeurs des champs que je veux modifier reste pb syntaxe requete SQL [ par LaTatadu91 ] Bonjour, voila j'ai un petit soucis avec la syntaxe d'une requete SQL je vous montre le code ce sera plus simple: pr la partie HTML simplifiée: for( Probleme sur une requete sql [ par destiny ] Lo all :)C'est à n'y rien comprendre!!! >j'ai une requete :SELECT Id FROM PASej WHERE CLId=26 AND IdClt=1 AND Empl=000 AND Debut=20050801000000 AND Fi combo box et requete sql [ par herveguedj ] Sur mon site d'annonces de voitures j'ai un moteur de recherche qui appel une page resultat.php qui contient le resultat de la recherche 3 combos box Probleme avec php 5 suite a une migration [ par FearBlue ] Bonjour j'ai un probleme depuis que j'ai migré de  easy php de la version 1.6 a la 1.8je recois des erreur du style : Notice: Use of undefined constan apres passage valeur par argument recuperer les autres valeurs [ par plopinou ] voila je passe par l'url un valeur, celle du nom, et je voudrai pouvoir afficher l'adresse de ce nom ainsi que son telephone, ... ma requete sql est : Besoin d'aide pour afficher une requete sql [ par syln3o ] Bonjour a tous.Et bien voila, j'ai un probleme je n'arrive pas a transformer une requete SQL comme je le veux (Bin vi, quand on en a pas les competenc SQl base - requete [ par destiny ] Lo all,Bon je cherche un requete ou autre pour que qd je lit ma table news (par ex) elle commence a lire du dernier au premier enregistrement.J'avais pb de requete sql [ par wahid1 ] bonjour ,j'ai un pb avec ma requete sql;dan sma base on  adeclaré un datetim edonc j'ai dans le meme attribut la date et l'heure . qd j efais mes requ supprimer dans sql (requete) [ par zut69 ] Bonjour,voila mon problème: j'ai une base de donnée et un mini chat qui l utilise. Le minichat affiche les 20 derniers messages. Mais au bout d un mom


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,874 sec (4)

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