PHP/MYSQL
Résolu
Ibilolz
Messages postés
148
Statut
Membre
-
Ibilolz Messages postés 148 Statut Membre -
Ibilolz Messages postés 148 Statut Membre -
Bonjour,
J'ai créer deux tables materiel/logiciel avec dans la table matériel une liste de pc et dans la table logiciel un petite liste de logiciel. J'ai créer une page comme ci dessous :
https://www.zupimages.net/up/14/17/8zg5.png
On peut visualiser les tables et par conséquant voir leur id. J'ai ensuite créer deux boutons déroulants avec en contenu les id des champs des tables . J'ai ensuite ajouter un bouton ajouter, et je veux que quand on clique dessus, il ajoute l'id du matériel et l'id du logiciel dans une table installer qui aura comme champs id_mat et id_log.
Mais ça ne marche pas, je n'ai pas d'erreur mais il n'ajoute rien et pourtant quand je clique sur ajouter l'url de la page devient :
http://localhost/test3/Config.php?test1=1&test2=3&submit=Ajouter
Donc il trouve les valeurs mais ne les ajoutent pas...
Merci d'avance
J'ai créer deux tables materiel/logiciel avec dans la table matériel une liste de pc et dans la table logiciel un petite liste de logiciel. J'ai créer une page comme ci dessous :
https://www.zupimages.net/up/14/17/8zg5.png
On peut visualiser les tables et par conséquant voir leur id. J'ai ensuite créer deux boutons déroulants avec en contenu les id des champs des tables . J'ai ensuite ajouter un bouton ajouter, et je veux que quand on clique dessus, il ajoute l'id du matériel et l'id du logiciel dans une table installer qui aura comme champs id_mat et id_log.
<?php
include 'fonctions.connect.php';
$id_mat = "SELECT id_mat FROM Materiel";
$nom_logi = "SELECT id_log FROM Logiciel";
$res2 = mysql_query($id_mat);
$res3 = mysql_query($nom_logi);
?>
<form action="" id="test"><select name="test1" id="test1">
<option value='-1'>----Choisissez l'ID d'un matériel -----</option>
<?php
while ($row2 = mysql_fetch_array($res2))
{
$mat = $row2['id_mat'];
echo "<option value='$mat'>$mat</option>";
}
?>
</SELECT>
<br></br>
<div>
<select name="test2" id="test2">
<option value='-1'>----Choisissez l'ID d'un logiciel -----</option>
<?php
while ($row3 = mysql_fetch_array($res3))
{
$nom = $row3['id_log'];
echo "<option value='$nom'>$nom</option>";
}
?>
</select>
</div>
<br></br>
<div> <input type="submit", name="submit" Value="Ajouter">
<?php
include 'fonctions.connect.php';
if(isset($_POST['test1'], $_POST['test2']))
{
$test1 = $_POST['test1'];
$test2 = $_POST['test2'];
$sql = "INSERT INTO installer (id_mat,id_log) VALUES ('$test1','$test2' )";
mysql_query($sql) or die(mysql_error()) ;
}
?>
</form></div>
Mais ça ne marche pas, je n'ai pas d'erreur mais il n'ajoute rien et pourtant quand je clique sur ajouter l'url de la page devient :
http://localhost/test3/Config.php?test1=1&test2=3&submit=Ajouter
Donc il trouve les valeurs mais ne les ajoutent pas...
Merci d'avance
4 réponses
-
Il faut que tu créés une page en .php dans le même dossier que ta page en question comme par exemple : ajout_materiel.php
Modifie cette ligne :
<form action="./ajout_materiel.php" id="test"><select name="test1" id="test1">
Et dans la page ajout_materiel.php tu peux mettre ton insert into dans ta table "installer" en récupérant$test1 = $_POST['test1'];
$test2 = $_POST['test2']; -
En faisant :
<?php include 'fonctions.connect.php'; $id_mat = "SELECT id_mat FROM Materiel"; $nom_logi = "SELECT id_log FROM Logiciel"; $res2 = mysql_query($id_mat); $res3 = mysql_query($nom_logi); ?> <form action="test.php" id="test"><select name="test1" id="test1"> <option value='-1'>----Choisissez l'ID d'un matériel -----</option> <?php while ($row2 = mysql_fetch_array($res2)) { $mat = $row2['id_mat']; echo "<option value='$mat'>$mat</option>"; } ?> </SELECT> <br></br> <div> <select name="test2" id="test2"> <option value='-1'>----Choisissez l'ID d'un logiciel -----</option> <?php while ($row3 = mysql_fetch_array($res3)) { $nom = $row3['id_log']; echo "<option value='$nom'>$nom</option>"; } ?> </select> </div> <br></br> <div> <input type="submit", name="submit" Value="Ajouter"> </form></div> </html>
Avec mon test.php :
<?php include 'fonctions.connect.php'; if(isset($_POST['test1'], $_POST['test2'])) { $test1 = $_POST['test1']; $test2 = $_POST['test2']; $sql = "INSERT INTO installer (id_mat,id_log) VALUES ('$test1','$test2' )"; mysql_query($sql) ; } ?>
ça ne marche toujours pas -
Bonjour
Il faut que tu ajoutes method="post" dans ta balise <form>.
Actuellement, comme tu n'as rien mis, tu utilises la méthode GET : tes variables apparaissent dans l'url.
Mais ça veut dire que tu les récupères dans la variable $_GET, or toi tu essayes de les récupérer dans $_POST. -