par
x@v » 02 déc. 2008, 02:03
Bonsoir,
j'espère faire un méthode pour insérer des données. mais je n'arrive pas à récupérer passer par mon formulaire en POST.
// connaître les champs existant dans une table
public function getListeChamp($table)
{
$this->sql="SHOW COLUMNS FROM $table";
//return $result;
$result=parent::select($this->sql);
foreach ($result as $field)
$champ[] = $field['Field'];
return $champ;
}
// faire ue requete d'insertion dynamique
public function getSqlInsert($table)
{
$champs=$this->getListeChamp($table);
$sql='INSERT INTO '.$table.' (';
foreach ($champs as $val) :
if($val == 'id')
$sql.=$val;
else
$sql.=', '.$val;
endforeach;
$sql.= ') VALUES (';
foreach ($champs as $val) :
if($val == 'id')
$sql.='NULL';
else
$sql.=", '".$_POST[$val]."'";
endforeach;
$sql.=');';
return $sql;
}
j'imprime
$test=$modelAdmin->getSqlInsert('categorie');
echo $test;
le navigateur affiche:
INSERT INTO categorie (id, nom, description, langue, dateCreation, dateModification, sousCategorie,
motsCles, venteCategorie, iconeCategorie) VALUES (NULL, '', '', '', '', '', '', '', '', '');
Sa vous parle ?
Merci
edit
Code : Tout sélectionner
sa ne fonctionne pas parce que les variables $_post sont traité dans l'entète.
Je ne vois pas comment contourner cette difficulté !
Bonsoir,
j'espère faire un méthode pour insérer des données. mais je n'arrive pas à récupérer passer par mon formulaire en POST.
[php] // connaître les champs existant dans une table
public function getListeChamp($table)
{
$this->sql="SHOW COLUMNS FROM $table";
//return $result;
$result=parent::select($this->sql);
foreach ($result as $field)
$champ[] = $field['Field'];
return $champ;
}
// faire ue requete d'insertion dynamique
public function getSqlInsert($table)
{
$champs=$this->getListeChamp($table);
$sql='INSERT INTO '.$table.' (';
foreach ($champs as $val) :
if($val == 'id')
$sql.=$val;
else
$sql.=', '.$val;
endforeach;
$sql.= ') VALUES (';
foreach ($champs as $val) :
if($val == 'id')
$sql.='NULL';
else
$sql.=", '".$_POST[$val]."'";
endforeach;
$sql.=');';
return $sql;
}
[/php]
j'imprime
[php]
$test=$modelAdmin->getSqlInsert('categorie');
echo $test;
[/php]
le navigateur affiche:
[php]
INSERT INTO categorie (id, nom, description, langue, dateCreation, dateModification, sousCategorie,
motsCles, venteCategorie, iconeCategorie) VALUES (NULL, '', '', '', '', '', '', '', '', '');
[/php]
Sa vous parle ?
Merci
edit[code]
sa ne fonctionne pas parce que les variables $_post sont traité dans l'entète.
Je ne vois pas comment contourner cette difficulté ![/code]