S'inscrire ! Pass oublié ?
Hyjoo
Portail Forums Jeux Flash Chat IRC Annuaire
Google

[Problème]PHP/SQL: insert boucle sql
Section : Informatique
Logiciels et materiel PC


Actualiser  Hyjoo > Forums > Le village > Informatique > [Problème]PHP/SQL: insert boucle sql

[Problème]PHP/SQL: insert boucle sql : Discussion sur le forum Informatique (Logiciels et materiel PC : Informations et discussions sur les ordinateurs, les logiciels ou le materiel pc, la programmation et le high tech en général.)

 
Rechercher dans la discussion
 ProblèmePHP/SQL: insert boucle sql
 Informatique : Logiciels et materiel PC
19/12/2007, 04h04 #1
bernard26000 
Ombre

insert boucle sql

Bonjour a tous et toutes

J'essaie depuis qq jours d'inserer dans ma base des données en une seule opération, "commande INSERT "
En fait il s'agit d'entrer un bon de commande avec 5 lignes maxi.
Mais avec ce code que j'ai essayé de mettre au point, j'ai des milliers d'entrées dans ma base, ca peut faire beaucoup pour le client....:?
je vous met le code issue de mon petit crane....
Code:
<?php 
$i = 0; 
while ($i <= 5) { 

$connexion =  mysql_connect("###","###","###")
or exit("Erreur 101") ;
 mysql_select_db( "vmfloc123" , $connexion)
or exit("Erreur 102") ;

 $nom.$i=$_POST['nom'.$i];
 $prenom.$i=$_POST['prenom'.$i];
  $adresse.$i=$_POST['adresse'.$i];
  $cp.$i=$_POST['cp'.$i];
  $ville.$i=$_POST['ville'.$i];
   $telephone.$i=$_POST['telephone'.$i];
	$mail.$i=$_POST['mail'.$i];	
$mod.$i=$_POST['modele'.$i]; 
$item.$i=$_POST['item'.$i]; 
$avatar.$i=$_POST['avatar'.$i]; 
$pren.$i=$_POST['pren'.$i]; 
$taille.$i=$_POST['taille'.$i];
$cde.$i=$_POST['commande'.$i];  

$req.$i="INSERT INTO cheque_tbl (id, nom, prenom, adresse, cp, ville, tel, mail, modele, item, avatar, pren, taille, cde) VALUES ('', '$nom.$i', '$prenom.$i', '$adresse.$i', '$cp.$i', '$ville.$i', '$telephone.$i', '$mail.$i', '$mod.$i', '$item.$i', '$nomFichier.$i', '$pren.$i', '$taille.$i', '$cde.$i')";

 
mysql_query($req.$i)or exit ('Erreur SQL !'.$req.$i.'<br>'.mysql_error());
$i=$i+1; 
mysql_close();
}
?>

Je me demande si la commande INSERT ne devrait pas etre en dehors de la boucle... mais là je me perd de plus en plus..
peut on egalement limiter au nombre exact de lignes, par exemple si le client a rentré deux commandes au lieu des 5 maxi possibles ?

Merci a vous qui passez jeter un oeil ici
cordialement
bernard26000 est déconnecté(e)
19/12/2007, 06h14 #2
NeoTiger 
Phoenix

NeoTiger

Re : insert boucle sql

Ton code pourrait être optimisé encore plus que ça.

Code PHP:
$i        = 0;
$req      = "INSERT INTO cheque_tbl (nom, prenom, adresse, cp, ville, tel, mail, modele, item, avatar, pren, taille, cde) VALUES";

// Cette boucle peut être évité en modifiant légèrement ton formulaire HTML
while ($i <= 5) {
    
$nom       = $_POST['nom'.$i];
    
$prenom    = $_POST['prenom'.$i];
    
$adresse   = $_POST['adresse'.$i];
    
$cp        = $_POST['cp'.$i];
    
$ville     = $_POST['ville'.$i];
    
$telephone = $_POST['telephone'.$i];
    
$mail      = $_POST['mail'.$i];    
    
$mod       = $_POST['modele'.$i];
    
$item      = $_POST['item'.$i];
    
$avatar    = $_POST['avatar'.$i];
    
$pren      = $_POST['pren'.$i];
    
$taille    = $_POST['taille'.$i];
    
$cde       = $_POST['commande'.$i];  

    
// Construction de la requête SQL
    
$req .= " ('$nom', '$prenom', '$adresse', '$cp', '$ville', '$telephone', '$mail', '$mod', '$item', '$nomFichier', '$pren', '$taille', '$cde'),";
    
$i++;
}

// Suppression de la dernière virgule de la requête construite
$req = substr($req,0,strlen($req)-1);

// Une seule connexion au serveur SQL au lieu des 5 que tu faisais
$connexion = mysql_connect("###","###","###") or exit("Erreur 101");
mysql_select_db( "vmfloc123" , $connexion) or exit("Erreur 102");

mysql_query($req) or exit('Erreur SQL !'.$req.'<br>'.mysql_error());

mysql_close();



Citation
par exemple si le client a rentré deux commandes au lieu des 5 maxi possibles ?

Pour ça, il suffit de vérifier les données que le client a saisie. Si par exemple, tu te trouves à la 3eme commande et que les données n'ont aucune valeurs alors tu arrêtes ta boucle.

Ce serait quelque chose de ce type :
Code PHP:
$i = 0;
while(
$i < 5) {
    if (
ta_condition) {
        break;
    }
    else {
        
tes_instructions;
    }
}
NeoTiger est déconnecté(e)

Navigation rapide:

« Discussion précédente | Discussion suivante »
Emplacement :
Actualiser  Hyjoo > Forums > Le village > Informatique > [Problème]PHP/SQL: insert boucle sql

Utilisateurs regardant cette discussion : 1 ( membre(s) et 1 invité(s))

Discussions similaires 
Discussion Auteur Forum Réponses Dernier message
Erreur pci.sys suite à l'installation de Windows XP/redémarrage en boucle du portable declic1123 Informatique 1 03/05/2007 01h05
probleme d'instalation SQL?aider moi plz yaoxiao Informatique 16 17/04/2007 14h43
[Résolu][PHP/MySQL] Probléme de requete SQl Chrno Informatique 6 23/10/2006 12h36
[SQL] Cherchez l'erreur. Vidow Informatique 8 08/12/2005 08h28
Cherche progrommeur php/sql pour mmorpg Fux Murder Jeux vidéo 0 31/05/2004 14h17
Rechercher dans cette discussion 
Rechercher dans cette discussion:

Recherche avancée


Fuseau horaire GMT +1. Il est actuellement 12h52.

Edité par vBulletin - Copyright © 2000-2005 Jelsoft Enterprises Limited
Copyright © Hyjoo - Tous droits réservés