Recuperation des valeurs dans un tableau pour insertion dans bd

Fermé
alali - 28 déc. 2015 à 11:57
 alali - 29 déc. 2015 à 11:46
Bonjour, voici ma boucle foreach



$BENEFICIAIRE_BeneQuiz=$_POST["BeneQuiz"];
$table=array();
//explosion
$beneficiare = explode("****", $BENEFICIAIRE_BeneQuiz);

   foreach($beneficiare as $chacun)
		{
			$normale=explode("|", $chacun);
			array_push($table, array(
			                  "name" => $normale[0],
							  "Prenom" => $normale[1],
							  "naissance" => $normale[2],
							  "naissance" => $normale[3],
							  "Adresse" => $normale[4],
							  "Genre" => $normale[5],
							  "lineReponse" => $normale[6],
							  "lineReponse" => $normale[7],
							  "lineReponse" => $normale[8],
							  "lineReponse" => $normale[9],
							  "lineReponse" => $normale[10],
							  "lineReponse" => $normale[11]
							         )
					);
		}



je n'arrive pas a recuperer les valeurs de $normale pour les envoyer dans
$resultatAjout


$questionnaire->BeneQuiz=$table;// mon probleme est cette ligne 
$questionnaire->Particulier=$BENEFICIAIRE_Particulier;

		
$resultatAjout=$questionnaire->ajouter(); 

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 déc. 2015 à 12:13
Bonjour,

$BENEFICIAIRE_BeneQuiz= isset($_POST["BeneQuiz"]) ? $_POST["BeneQuiz"] : NULL;

//explosion
$beneficiare = explode("****", $BENEFICIAIRE_BeneQuiz);

$table=array();
foreach($beneficiare as $chacun){
  $normale = explode("|", $chacun);
  $table[] = array(
              "name" => $normale[0],
              "Prenom" => $normale[1],
              "naissance" => $normale[2],
              "naissance" => $normale[3],
              "Adresse" => $normale[4],
              "Genre" => $normale[5],
              "lineReponse" => $normale[6],
              "lineReponse" => $normale[7],
              "lineReponse" => $normale[8],
              "lineReponse" => $normale[9],
              "lineReponse" => $normale[10],
              "lineReponse" => $normale[11]
              )
}

0
bonjour jourdan
cette ligne pas le probleme(
$BENEFICIAIRE_BeneQuiz= isset($_POST["BeneQuiz"]) ? $_POST["BeneQuiz"] : NULL;
)

le probleme apres avoir exploser
$BENEFICIAIRE_BeneQuiz

ensuite
$chacun
,comment recuperer la valeur de qui est a l'interieur pour envoyer dans
$resultatAjout=$questionnaire->ajouter(); 
0
du cout mon probleme est cette ligne
$questionnaire->BeneQuiz=$table;
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > alali
28 déc. 2015 à 12:34
Pourquoi dis tu que le problème est à cette ligne ??
En même temps.... vu qu'on ne sait rien de ton code complet .... comment penses tu que nous pouvons t'aider ???? Oo
0
je dis le probleme est cette ligne parceque c'est cette ligne qui me permettra d'envoyer mes données dans un autre fichier ou je vais recuperer

avec
public function ajouter()
 {
//epuis faire l'insertion a l'interieur ,un exemple 
    try 
{ 
 $this->db->beginTransaction();

$transaction=$this->db->prepare("INSERT INTO table  
                                `nom`,
                    `prenom`,
                    `datenais`,
                    `genre`,") VALUES(?,?,?,?)");


$transaction->execute(array($this->.........,$this->Particulier,$this->(ici les valeurs du tableau que je devrais mettre) ));

}
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > alali
28 déc. 2015 à 14:04
Bon ben moi j'abandonne....
Si tu trouves quelqu'un qui comprend ton charabia et tes explications tant mieux pour toi.... mais moi... tant que tu ne prendras pas la peine de CLAIREMENT expliquer ce qui te pose problème et de nous montrer le code COMPLET je ne ferai rien de plus.
++
0
bon voici un peu le code
<?php

require_once("application/models/Connexion.php");

require_once("modules/maladiesante/clssmaladiesante.php");


if($_SERVER['REQUEST_METHOD'] == 'POST')
{
	
	$questionnaire=clssmaladiesante::getInstance();
	
	
	$action=$_POST["action"];
	
	if($action=="ajouter"){

		$BENEFICIAIRE_BeneQuiz=$_POST["BeneQuiz"];
	        $BENEFICIAIRE_nbre=$_POST["vv"];
		$BENEFICIAIRE_Particulier=trim($_POST["Particulier"]);
		$BENEFICIAIRE_Assure=trim($_POST["Assure"]);
		$BENEFICIAIRE_entreprise=trim($_POST["entreprise"]);
		$BENEFICIAIRE_type=trim($_POST["Valeur_ps"]);
		if($BENEFICIAIRE_BeneQuiz !="" && $BENEFICIAIRE_nbre!="0")
												{
		$table=array();
		//explosion
		$beneficiare = explode("****", $BENEFICIAIRE_BeneQuiz);
		
	    foreach($beneficiare as $chacun)
		{
	         	$normale=explode("|", $chacun);
			array_push($table, array(
			                  "name" => $normale[0],
							  "Prenom" => $normale[1],
							  "naissance" => $normale[2],
							  "naissance" => $normale[3],
							  "Adresse" => $normale[4],
							  "Genre" => $normale[5],
							  "lineReponse" => $normale[6],
							  "lineReponse" => $normale[7],
							  "lineReponse" => $normale[8],
							  "lineReponse" => $normale[9],
							  "lineReponse" => $normale[10],
							  "lineReponse" => $normale[11]
							         )
					);
		}

			//verification
			$nbrtable=count($table);
			//echo $nbrtable; exit;
			if($nbrtable==$BENEFICIAIRE_nbre)
			                                  {

	$questionnaire->BeneQuiz->$table[]["name"]["Prenom"]["naissance"]["Adresse"]["Genre"]["lineReponse"];
		$questionnaire->Particulier=$BENEFICIAIRE_Particulier;
		$questionnaire->Assure=$BENEFICIAIRE_Assure;
	        $questionnaire->entreprise=$BENEFICIAIRE_entreprise;
               $questionnaire->Valeur_ps=$BENEFICIAIRE_type;
		
		$resultatAjout=$questionnaire->ajouter();
		
		 }	}
		

		if(!$resultatAjout==1)
		{
				
				echo utf8_encode("Une erreur est survenu lors de la creation  de la societe.");
				echo"|0";
				exit();
				
		}
			
		echo "Bénéficiaire ajoute ajouté.";
		echo"|1";
		exit();
	}

?>

mon fichier classe
class clssmaladiesante  
{

       public $BeneQuiz;
	public $Particulier;
	public $Assure;
	public $entreprise;
	public $Valeur_ps;

	private $db;
public function ajouter()
	{
				//$db=Connexion::getInstance()->getZendDb();
				
				try 
				{	
					$this->db->beginTransaction();
				
					
					
						$transaction=$this->db->prepare("INSERT INTO `tanzanie`.`beneficiaire_sante`
																				(
																				`typemaladie`,
																				`nom`,
																				`prenom`,
																				`datenais`,
																				`genre`,
																				`numextrait`,
																				`Adresse`,
																				`sante`,
																				`sante`,
																				`idParticulier`) VALUES(?,?,?,?,?,?,?,?,?,?)");
																				
					$transaction->execute(array($this->Valeur_ps,$this->$normale[0],$this->$normale[1],$this->$normale[2],$this->$normale[5],$this->$normale[3],$this->$normale[4],
					$this->entreprise,$this->Assure,$this->Particulier));
					  
					$transaction->closeCursor();
					$transaction=null;
				
					$this->db->commit();
					return true;	
				}catch (Exception $e)
				{
					echo "Failed: " . $e->getMessage();
					$this->db->rollBack();
					return false;
				}
				
	}
    }

mon probleme c'est comment recuperer les donnees de mon tableau pour envoyer dans mon fichier classmaladie.php
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
28 déc. 2015 à 14:42
Fais donc un print_r de $this->BeneQuiz
tu devrais voir qu'il s'agit d'un ARRAY.... et donc.... que tu peux le parcourir en faisant une boucle....
0
je viens de verifier BeneQuiz n'est pas un tableau ,c'est la qui est mon soucis je ne sais pas quoi mettre a la place de BeneQuiz
cette ligne je ne sais pas comment l'ecrire pour pouvoir recuperer name,Prenom....,lineReponse

$questionnaire->BeneQuiz->$table[]["name"]["Prenom"]["naissance"]["Adresse"]["Genre"]["lineReponse"];
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > alali
28 déc. 2015 à 14:59

je viens de verifier BeneQuiz n'est pas un tableau

???
Il te donne quoi le print_r ??
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
28 déc. 2015 à 15:00
Et c'est quoi ça :
$questionnaire->BeneQuiz->$table[]["name"]["Prenom"]["naissance"]["Adresse"]["Genre"]["lineReponse"];

????

Ecris simplement
$questionnaire->BeneQuiz = $table;
0
lorsque je mets avec $table[]["name"]["Prenom"]["naissance"]["Adresse"]["Genre"]["numextrait"]["lineReponse"]; il me donne carrement erreur
0