begin process at 2012 05 31 00:20:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

INSERT dans une boucle WHILE : Possible ?


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

INSERT dans une boucle WHILE : Possible ?

vendredi 24 février 2006 à 17:35:45 | INSERT dans une boucle WHILE : Possible ?

laubro


Bonjour,

j'ai une boucle while, dans laquelle je tente de faire un INSERT, mais ça ne fonctionne pas, toutes les opé marchent dans ma boucle mais pas le while...
$sql = "SELECT * FROM $type_chambres WHERE type_chambre!=''";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {

if(($data['type_chambre'])!="" and ($data['quota'])<=$nbnuits)
{

$idh = $data['id'];
$type = $data['type_chambre'];

$select = "SELECT dispo_$idh FROM $calendrier where date>='$date1' AND date2<'$date2' AND dispo_$idh>'0' AND prix_$idh>'0'";

$result = mysql_query($select,$db) or die ('Erreur : '.mysql_error() );$total1 = mysql_num_rows($result);

if($nbnuits == $total1){

$result = mysql_query("SELECT SUM(prix_$idh) FROM $calendrier where date>='$date1' AND date2<'$date2' AND dispo_$idh>'0' AND prix_$idh>'0'");
$row = mysql_fetch_row($result);
$total = $row[0];

$prix1 = $total/$nbnuits;

// mon probleme ! ! ! --------------------------------
    $sql = "INSERT INTO $resa_temp(id, dateresa, day, arrivee, arriveet, depart, departt, nbnuits, type, prix, prixtotal) VALUES('$id','$dateresa','$day','$date1','$date1t','$date2','$date2t','$nbnuits','$type','$prix1','$total')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

echo "<center><table border='0' width='80%' style='border: 1 solid "; echo "$bordercolor"; echo "' bgcolor='$bgcolor'><tr><td width='30%'><font face='verdana' size='1'><b>Chambre $type</b>:</td><td width='50%'><font face='verdana' size='1'>"; echo ''.$data['texte'].''; echo "<br><br></td><td width='10%'><font face='verdana' size='1'><B>"; echo round($prix1, 2); echo " € </B></td><TD Width='10%'><A HREF='resa.php?type=$type&id2=$id&ih=$ih&hotel=$hotel&adresse=$adresse&adresse2=$adresse2&cph=$cph&villeh=$villeh&logo=$logo&s=$s&u=$u&p=$p&b=$b&mailh=$mailh'><img src='images/resa.jpg' border='0'></a></td></tr></table><BR>";}

}
}

on peut ou pas ?, sachant que c'est sur la mêm basedd
merci
Laubro

vendredi 24 février 2006 à 18:11:36 | Re : INSERT dans une boucle WHILE : Possible ?

laubro

j'ai compris le problème, mais ça me permet pas de le résoudre...

en fait l'$id à insérer est généré avant le while par $id = session_id();
et il ne reconnait pas, pour lui $id= ="" et donc n'insert rien.
le probleme c'est que je pourrait générer un $id autrement(schuf...), mais il me faut un id donc je sois sur qu'il ne peut pas être doublé, je veux dire par la que si "jamais" 2 personne etaient en même temps sur le serveur avec la même clef $id(pas de bol), ça me poserait des soucis dans la page suivante....mais la session ne demarre pas dans le while (j'ai essayé)......
si il y avait un truc...
merci

Laubro

vendredi 24 février 2006 à 18:19:11 | Re : INSERT dans une boucle WHILE : Possible ?

supergyver

Lorsque tu crées ta table sous MYSQL, Tu mets ta clef primaire avec la propriété "AUTOINCREMENT'
Du coup, lorsque tu fais ton insertion, tu ne mets pas le champ ID mais seulement:

INSERT INTO $resa_temp(dateresa, day, arrivee, arriveet, depart, departt, nbnuits, type, prix, prixtotal)

Mysql se charge de mettre automatiquement un nouvel identifié unique (incrémenté).
J'espère que tu vois ce que je veux dire.

RQ: Tu dis que selon ton script $id vaut ''.
As-tu bien lancé la session au début du script (fonction session_start()) - avant tout autre commande ?

vendredi 24 février 2006 à 18:27:15 | Re : INSERT dans une boucle WHILE : Possible ?

laubro

Oui la session est lancé, je sais pour incrémenté une id à la table, ce que je veux en fait :
le while est lancé suite à une interrogation par formulaire de disponibilité
est ce qu'il y a X dispo le 28/02/2006 par exemple, sur plusieurs type de chambres(dans mon cas)
et comme la reponse peut être oui sur plusieurs reponse, je charge la base avec les infos des chambres(type, prix...) et surtout en id la session
car sur chaque réponse, il y a un lien qui conduit sur une autre page, le lien correspond au choix que va faire l'internaute
et donc sur la page suivante, en fonction du lien cliqué, il y a une procédure qui éliminie toutes les autres réponses, et comme je ne veut eliminr
que les réponse de la peronne en question, ça fait..... delete......where id=="$id"(la id de session) and type!="$type"(le type choisi par l'internaute)
si je fait juste delete sur le type et qu'il y a plusieurs personne en cours de requette, ça vire tout

Laubro
vendredi 24 février 2006 à 18:29:36 | Re : INSERT dans une boucle WHILE : Possible ?

laubro

de plus pour la session, si je fait un echo "$id" il me l'ecrit sans soucis, mais il n'en tient pas compte dans INSERT
Truc de dingue,
par contre si je genere un $id=1; pas de probleme ça tourne

Laubro
vendredi 24 février 2006 à 20:02:57 | Re : INSERT dans une boucle WHILE : Possible ?

FhX

Quand tu sais que toutes ces opérations peuvent se réduire au niveau de ta requète SQL de départ...

moi ca me fait peur :o
vendredi 24 février 2006 à 23:26:24 | Re : INSERT dans une boucle WHILE : Possible ?

laubro

en fait pas vraiment, c'est un syteme de resa en ligne d'hôtel, et ça prends en compte tout un tas de criteres...

Laubro


Cette discussion est classée dans : mysql, type, sql, data, while


Répondre à ce message

Sujets en rapport avec ce message

*** où est lerreur ? [ par kodiask ] $db = mysql_connect('******', '******', ''); mysql_select_db('*****',$db); $sql = 'SELECT nom,prenom FROM *****'; $req = mysql_query($sql) or die('Err Pb de script entre php et mysql pour afficher une table [ par FloTheShark ] Salut à tous Voilà g free, donc host, sql.free.fr et ainsi de suite je veux faire afficher une table(ce qu'il y a à l'intérie UPDATE de plusieurs enregistrements dans une boucle [ par kd ] Bonjour à tous, j'essaie depuis un bout de temps de modifier un ensemble d'enregistrement dans une base à l'intérieur d'une boucle mais j'ai une erreu Le filtre ne fonctionne pas [ par Joleroy ] Salut a tous!J ai cree une page appelé Kits.php qu j appelle par Kit.php?tipekit=type_du_kitVoici son code:$type=$_GET['typekit'];$connect = mysql_con afficher résultats requête SQL dans un tableau [ par titsuisse ] Bonjour,Tout d'abord, je suis débutant donc j'ai un peu de peine avec php. Voilà, j'ai une base SQL qui comporte plusieurs tables. J'ai une page (test envoyer des données récupérer dans une autre page php [ par titsuisse ] Bonjour,Je suis débutant en php et je suis coincé. Voilà mon problème. Je veux faire un site de petites annonces. J'ai plusieurs tables. J'ai une page While inverse [ par Tilix ] Bonjour,Je voudrais savoir comment faut-il faire pour inversé l'arrivé des données dans une table mysqlSource personnel :$db = mysql_connect('host', ' problème de requete SQL avec ID aléatoire [ par djinko ] Bonsoir,Ayant chercher pendant des heures et des heures, je me tourne vers vous pour avoir une explication car franchement, je nage...J'ai crée un esp message interne [ par 01cod10 ] Je suis en train de faire une messagerie interne sur mon site. Lorsque je clique sur le lien titre le message ne s'affiche pas.Pouvez vous me dire ce Pb... [ par taxidogkiller ] Bonjour, je suis un débutant en php ( je n'est que 13 ans ),  MYSQL me dit que j'ai une erreur mais je n'arrive pas à la voir ... (ce serait du coté d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

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

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