Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 14/08/2006, 13h45   #1
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Par défaut [Conception] INSERT par boucle ?

Bonjour,

J'ai un formulaire avec 500 champs nommé comme ceci
"p"[1] à "p"[500] et je voudrais savoir comment faire un insert propre dans une TABLE en ne prenant que les champs dans lesquels se trouve des données.
Je pense qu'un boucle serais idéal mais je ne sais pas comment faire qui va être assez sympa que pour me donner un exemple

D'avance merci
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 13h52   #2
Invité(e)
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut tester

je penser que tu dois tester si le champ est null ou pas , avant de lancer ton insert.

  Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 13h53   #3
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
Code :
1
2
3
4
5
for ($i = 0, $imax = 500; $i < $imax; $i++) {
     if(!empty($_POST[$i])) {
          INSERT EN DB
     }
}
Quelques choses comme ça ?!

Que représente ton "p" ?!
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 14h01   #4
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par omura
Code :
1
2
3
4
5
for ($i = 0, $imax = 500; $i < $imax; $i++) {
     if(!empty($_POST[$i])) {
          INSERT EN DB
     }
}
Quelques choses comme ça ?!

Que représente ton "p" ?!
j'ai mis P rien de particulier mais je devais bien nommé mes champs pour retrouver mes jeunes P est les champs qui contiennent des quantité.
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 14h02   #5
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par dunbar
j'ai mis P rien de particulier mais je devais bien nommé mes champs pour retrouver mes jeunes P est les champs qui contiennent des quantité.
Et si je comprend bien ton exemple je ne prend en compte que les chiffre et pas les "p" mais uniquement [1] à [500].
J'ai compris ?
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 14h02   #6
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
je n'ai pas compris grand chose a ton explication enfin soit lol

est ce que mon petit code répond a ta demande ?!
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 14h10   #7
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par dunbar
Et si je comprend bien ton exemple je ne prend en compte que les chiffre et pas les "p" mais uniquement [1] à [500].
J'ai compris ?
Citation:
for ($i = 0, $imax = 500; $i < $imax; $i++) {
if(!empty($_POST[$i])) {
INSERT EN DB
}
}
J'aimerais comprendre que veux dire ceci ?
$i
et une autre question si mes champs était nommé comme ceci "[p_1]" à "[p_500]"
le code aurais été ceclui-ci ?
Citation:
for ($i = p_0, $imax = p_500; $i < $imax; $i++) {
if(!empty($_POST[$i])) {
INSERT EN DB
}
}
?

Merci
dunbar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 14h32   #8
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
LOOOL les 2 meassages a 14h02 !!

Sinon pour te repondre si tes champ avaient été ecrit comme ceci [p_01]

ben à la place de $_POST['$i'] on aurait mis $_POST['p_'.$i]

A tester lol pcq je ne sais pas si c'est vraiement correcte. Sinon tu concatene ta chaine avant de la mettre dans le post


$i est la variable d'incrementation. A chaque passage de la boucle cette varaible va etre egale a elle même + 1 (faudrait connaitre ses base en php lol)
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 15h06   #9
Membre du Club
 
Inscription : juin 2006
Messages : 215
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 215
Points : 50
Points : 50
Citation:
Envoyé par omura
LOOOL les 2 meassages a 14h02 !!

Sinon pour te repondre si tes champ avaient été ecrit comme ceci [p_01]

ben à la place de $_POST['$i'] on aurait mis $_POST['p_'.$i]

A tester lol pcq je ne sais pas si c'est vraiement correcte. Sinon tu concatene ta chaine avant de la mettre dans le post


$i est la variable d'incrementation. A chaque passage de la boucle cette varaible va etre egale a elle même + 1 (faudrait connaitre ses base en php lol)
Merci
dunbar 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 05h17.


 
 
 
 
Partenaires

Hébergement Web