Vous n'êtes pas identifié(e).
Bonjour,
Voici mon problème, je voudrais lister les noms des tables que j'avais dans ma base dans un menu déroulant, l'utilisateur choisi la table dans laquelle il va insérer l'objet, un formulaire sera alors affiché contenant des champs des attributs de cette table pour les remplir, l'insertion s'effectue. voilà mon code pour le moment:
<?php
echo "<html>";
echo "<body>";
echo "<form name='ajout_obj' action='test1.php' method='post'>";
echo "Classe :";
$dbconn = pg_connect("host=localhost port=5432 dbname=postgis user=user password=root")or die("Connexion impossible");
$result = pg_query ($dbconn, "SELECT cname FROM classofclasses");
echo " <select name='classe'>";
while ($row = pg_fetch_row($result)) {
echo "<option value='$row[0]' name='$row[0]'> $row[0]</option>";
}
echo "</select>";
echo "<INPUT name='valider' type='submit' value='Valider'>";
echo "</form>";
echo "</body>";
echo "</html>";
?>
<?php
$dbconn = pg_connect("host=localhost port=5432 dbname=postgis user=user password=root")or die("Connexion impossible");echo "<form name='ajout_obj1' action='test2.php' method='post'>";
if(isset($_POST['valider'])){
$classe = $_POST['classe'];
echo "classe: $classe <br>";
$res = pg_query ($dbconn, "SELECT * FROM $classe ");
$i = pg_num_fields($res);
for ($j = 0; $j < $i; $j++) {
$fieldname = pg_field_name($res, $j);
echo "$fieldname\n:";
echo "<input type='text' name=$fieldname>";
echo "<br>";
}
echo "<INPUT name='valider1' type='submit' value='Valider'>";
echo "</form>";
echo "</body>";
echo "</html>";
}
Le problème est ici! lors de la récupération et l'insertion des données:
if(isset($_POST['valider1']))
{
$classe = $_POST['classe'];
$res = pg_query ($dbconn, "SELECT * FROM $classe ");
$i = pg_num_fields($res);
for ($j = 0; $j < $i; $j++) {
$fieldname[j] = pg_field_name($res, $j);
}
$id = $_POST['$fieldname[0]'];$name=$_POST['$fieldname[1]'];
$res=pg_query($dbconn, "INSERT INTO '$classe' VALUES ('$id','$name')");
if (!$res) {
echo "erreur";
} else {echo "insertion effectué";
}
}
Au début tout ça marcha bien , les attributs sont affichés, le problème réside dans le dernier code au niveau du nom de la table ($classe) et au niveau de la récupération des noms des champs!
Je suis débutante :\ heelp plz
Hors ligne
Ne pas utiliser de guillemets simples autour du nom de la table. Ne pas utiliser de guillemets simples pour les valeurs entières.
Cette fois-ci, c'était simple. La prochaine fois, pensez à donner le message d'erreur pour qu'on n'ait pas à jouer aux devinettes.
Guillaume.
Hors ligne