2011-04-28 6 views
0

Ce que j'essaie de faire est la suivante: Lorsque je sélectionne la couleur de la liste déroulante, il sera soumis à la base de données et dans le tableau voiture. J'ai déjà configuré la base de données.insérer des données à la base de données

Cela fait partie du code HTML.

<form action="rinnad.php" method="post"> 
Car color: 
<select name="Rinnad"> 
<option>red</option> 
<option>blue</option> 
<option>green</option> 
</select> 
<input type="submit" value="lisa" /> 
</form> 

Voici le code PHP que j'utilise pour entrer dans la couleur de la voiture dans la base de données:

<?php 
$connect = @mysql_connect ("localhost", "root", "") or die("Fail!!!! :D:D:D"); 
mysql_select_db("tibid") or die("there is no such db"); 
if($connect){ 
    echo "connected to db"; 
}else{ 
    echo "didnt connect to db"; 
} 
$car = "red" 
$query = mysql_query("insert into test values('','$car')"); 
?> 

Que dois-je faire? Merci.

+1

Quelle est votre question? Qu'est-ce qui ne fonctionne pas? –

+0

@Pekka Toutes les voitures semblent être rouges :) Mais je suis d'accord qu'une vraie question ou description du problème serait bien. – jeroen

Répondre

1

D'abord, vous devez attribuer des valeurs aux options:

<option value="red">red</option> 

http://www.w3schools.com/TAGS/tag_option.asp

Après cela votre besoin d'assigner la valeur du formulaire à votre variable $ car:

$car = $_POST['Rinnad']; 

ou, de manière plus sûre, avec une certaine protection contre les injections SQL-:

$car = mysql_real_escape_string($_POST['Rinnad']); 
+3

Comme je l'ai appris récemment, [w3schools peut être évité ...] (http://w3fools.com/) :) –

+0

manquait $ rinnad = mysql_real_escape_string ($ _ POST ['Rinnad']); J'ai très bien travaillé, merci. – rookie

+0

Merci pour le coup d'oeil djacobson :) – vichle

0

Mettez un; après cette ligne

$car = "red"; 
0

vous devez obtenir la valeur affichée:

$car = mysql_real_escape_string($_POST['Rinnad']); 
0

Vous avez une erreur

$car = "red"; 
$query = mysql_query("insert into test values('','$car')"); 

Ici vous did'nt spécifier le nom du champ auquel $ voiture spécifie.i thnk u a donné l'auto_increment pour voiture id .. ?? THN Votre code sera

$query = mysql_query("insert into test (color)values('$car')"); 

vous neednot spécifiez l'incrément automatique field.default il peut être ajouté.

Questions connexes