probleme avec array et mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme avec array et mysql

Re: probleme avec array et mysql

par piotrowski-s » 09 avr. 2012, 16:23

j'ai essayé comme cela, sans succès...
$t_contact = $_POST['contact'];
if (array_key_exists('qualite', $t_contact)) {
foreach ($t_contact as $contact)
	{
		var_dump($contact);

Re: probleme avec array et mysql

par piotrowski-s » 09 avr. 2012, 15:26

j'ai rajouté cela mais il insére des lignes vides.
if (array_key_exists(1, $array)  OR array_key_exists(2, $array) OR array_key_exists(3, $array) OR array_key_exists(4, $array) OR array_key_exists(5, $array))  {
foreach ($t_contact as $contact)
	{
		var_dump($contact);
voici les erreurs

Code : Tout sélectionner

( ! ) Notice: Undefined variable: array in C:\wamp\www\NEOGETCASH\ADMIN\sauve-client.php on line 78 Call Stack # Time Memory Function Location 1 0.0188 909368 {main}( ) ..\sauve-client.php:0 ( ! ) Warning: array_key_exists() expects parameter 2 to be array, null given in C:\wamp\www\NEOGETCASH\ADMIN\sauve-client.php on line 78 Call Stack # Time Memory Function Location 1 0.0188 909368 {main}( ) ..\sauve-client.php:0 2 0.8591 913760 array_key_exists ( ) ..\sauve-client.php:78

Re: probleme avec array et mysql

par piotrowski-s » 09 avr. 2012, 14:36

ce que j('aurais besoin c'est de verifier le champs nommé "qualite". mais comme c'est un array en fait j'ai contact[1][qualite], contact[2][qualite], contact[3][qualite] et du coup je sais pas comment le verifier car la variable $_POST['qualite'][1] n'existe pas il me dit.

Re: probleme avec array et mysql

par piotrowski-s » 09 avr. 2012, 11:14

Up

Re: probleme avec array et mysql

par piotrowski-s » 09 avr. 2012, 09:33

merci pour votre aide, en suivant vos conseils j'ai donc fais cela
 
$t_contact = $_POST['contact'];
foreach ($t_contact as $contact)
	{
   extract ($contact);
   $sql9 = 'INSERT INTO  gestionnaire_client SET 
code_client					= "'.mysql_real_escape_string($_POST['code_client']).'", 
nom			 				= "'.mysql_real_escape_string($_POST['nom']).'", 
prenom						= "'.mysql_real_escape_string($_POST['prenom']).'", 
qualite						= "'.mysql_real_escape_string($_POST['qualite']).'" , 
tel							= "'.mysql_real_escape_string($_POST['tel']).'" , 
fax							= "'.mysql_real_escape_string($_POST['fax']).'" , 
gsm			 				= "'.mysql_real_escape_string($_POST['gsm']).'" , 
e_mail		  				= "'.mysql_real_escape_string($_POST['e_mail']).'" , 
login		  				= "'.mysql_real_escape_string($_POST['login']).'" , 
pass_md5	  				= "'.mysql_real_escape_string($_POST['pass_md5']).'" 
' ;                  
   
}

mysql_query($sql9) or die(__LINE__.mysql_error().$sql9);
mais ça ne fonctionne toujours pas.

Re: probleme avec array et mysql

par sirakawa » 06 avr. 2012, 18:16

Bonjour à tous, j'essaie d'enregistrer les données issue d'un array dans mysql mais en vain j'ai une quantité non négligeable de message d'erreur.
foreach (  (array) $_POST['contact'] as $contact => $contact )
	{
    $query = "INSERT INTO gestionnaire_client VALUES (code_client, civilite, nom, prenom, qualite, tel, fax, gsm, e_mail, login, pass_md5),";  
    $query .= "contact[code_client], $contact[$civilite], $contact[$nom], $contact[$prenom], $contact[$qualite], $contact[$tel], $contact[$fax], $contact[$gsm], $contact[$e_mail], $contact[$login], $contact[$pass_md5], ";
Je ne sais pas si c'est la bonne structure.

Par avance merci.
On suppose que tu connais les noms des colonnes de ta table gestionnaire_clients.

1) vérifier que, avant le foreach, $_POST['contact'] contient ce que l'on croit print_r($_POST['contact']);.
Si ce n'est pas le cas, inutile d'aller plus loin.
2) Si $_POST['contact'] est correct, on allègerait par:
$t_contact = $_POST['contact']; avant le foreach;
3) Le foreach est étrangement fichu:
foreach ($t_contact as $contact)
{
extract ($contact);
et on a une série de variables qu'on peut mettre dans le quary SANS concaténation
mais la syntaxe de INSERT telle que c'est écrit, est fausse. cf http://dev.mysql.com/doc/refman/5.0/fr/insert.html
}
}

Re: probleme avec array et mysql

par xTG » 06 avr. 2012, 18:13

as $contact => $contact )
C'est pas malin ça... Commences par changer le nom d'une des variables car ce n'est pas du tout la même information.

Re: probleme avec array et mysql

par piotrowski-s » 06 avr. 2012, 17:02

j'ai essayé avec cela mais ça fonctionne toujours pas
  $query .= "".$contact[code_client].$contact[$civilite].

Re: probleme avec array et mysql

par piotrowski-s » 06 avr. 2012, 17:00

il me disent undefined toutes les var...

Re: probleme avec array et mysql

par moogli » 06 avr. 2012, 16:08

Salut

Et ils disent quoi les messages d'erreurs ? Parce qu'ils te donnent ta réponse.
La globalement tes variables ne sont pas interprétées (vu le merdier php ne peux savoir ce que tu veux).
Utilise la concaténation pour résoudre tes soucis.
http://www.lephpfacile.com/cours/5-conc ... ux-chaines


@+

probleme avec array et mysql

par piotrowski-s » 06 avr. 2012, 15:16

Bonjour à tous, j'essaie d'enregistrer les données issue d'un array dans mysql mais en vain j'ai une quantité non négligeable de message d'erreur.
foreach (  (array) $_POST['contact'] as $contact => $contact )
	{
    $query = "INSERT INTO gestionnaire_client VALUES (code_client, civilite, nom, prenom, qualite, tel, fax, gsm, e_mail, login, pass_md5),";  
    $query .= "contact[code_client], $contact[$civilite], $contact[$nom], $contact[$prenom], $contact[$qualite], $contact[$tel], $contact[$fax], $contact[$gsm], $contact[$e_mail], $contact[$login], $contact[$pass_md5], ";
Je ne sais pas si c'est la bonne structure.

Par avance merci.