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 12/11/2007, 19h14   #1
oim
Membre à l'essai
 
Inscription : décembre 2003
Messages : 118
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 118
Points : 20
Points : 20
Par défaut [SQL] update sql sous condition

Bonsoir, j'ai un script qui permet de répondre à plusieurs questions par menu déroulant. Actuellement l'enregistrement dans la base ce fait comme ca :
Code :
1
2
3
4
5
 
   	for ($i = 1; $i <= sizeof($rep); $i++) {
      	if ($rep[$i] != "")
	$update1 = sql_query("INSERT INTO ".$NPDS_Prefix."renc_mbre (uid, id_rep) VALUES ('$uid', '$rep[$i]')");
	}
Avec ce code si la personne ne répond pas à une question il n'y a pas d'enregistrement pour la question.

Ce que j'aimerai s'est de ne rien enregistrer dans la base s'il manque une réponse et donc que le "if ($rep[$i] != "")" qui me permettait d'enregistrer que les réponses se transforme en condition pour que s'il en manque une rien ne s'enregistre.
Mais je n'y arrive pas, si vous aviez une idée ?

Merci !
oim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 19h36   #2
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Code :
1
2
3
4
5
6
7
if (!in_array('', $rep)) {
    for ($i = 1; $i <= sizeof($rep); $i++) { // Normal que l'indice commence à 1 ?/
        $update1 = sql_query("INSERT INTO ".$NPDS_Prefix."renc_mbre (uid, id_rep) VALUES ('$uid', '$rep[$i]')"); // Votre requête a peut être besoin d'être protégé au niveau des variables ...
    }
} else {
    // ...
}
(non testé)

julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 20h11   #3
oim
Membre à l'essai
 
Inscription : décembre 2003
Messages : 118
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 118
Points : 20
Points : 20
Merci beaucoup ca fonctionne très bien.

Pourquoi 1, parce que dans la table il n'y a pas d'id la variable $uid est la même pour toutes les réponses et si je met 0 le premier enregistrement ne fonctionne pas.

Pour la protéger si je met ca : "$rep[$i] = FixQuotes($rep[$i]);" juste après le "for", c'est bon ?

Merci !
oim est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 21h04   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Citation:
Envoyé par oim
Pour la protéger si je met ca : "$rep[$i] = FixQuotes($rep[$i]);" juste après le "for", c'est bon ?
Si vous avez pris la peine de gérer cet aspect, j'imagine que oui (tout dépend du SGBD employé, de ce que fait votre fonction puisqu'elle ne nous est pas connue du fait que ce n'en est pas une standard et enfin de votre configuration - magic_quotes_gpc notamment).
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/11/2007, 22h36   #5
oim
Membre à l'essai
 
Inscription : décembre 2003
Messages : 118
Détails du profil
Informations forums :
Inscription : décembre 2003
Messages : 118
Points : 20
Points : 20
Merci beaucoup pour l'aide, je clos.
oim 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 05h06.


 
 
 
 
Partenaires

Hébergement Web