2010-04-25 4 views
1

Je suis fondamentalement un concepteur frontal et nouveau pour PHP et MySQL mais je veux qu'un utilisateur puisse stocker plusieurs noms et leurs significations dans une table de base de données MySQL appelée names en utilisant PHP Je vais créer dynamiquement des champs de formulaire avec JQuery chaque fois qu'un utilisateur clique sur un lien afin qu'un utilisateur puisse entrer 1 à 1 000 000 noms différents et leurs significations qui seront stockées dans une table appelée names. Tout ce que je veux savoir, c'est comment puis-je stocker plusieurs noms et leurs significations dans une base de données, puis les afficher à l'utilisateur pour les modifier ou les supprimer en utilisant PHP & MySQL?PHP et MySQL stockant plusieurs valeurs dans une base de données

J'ai déjà créé la table MySQL.

CREATE TABLE names (
id INT UNSIGNED NOT NULL AUTO_INCREMENT, 
userID INT NOT NULL, 
name VARCHAR(255) NOT NULL, 
meaning VARCHAR(255) NOT NULL, 
PRIMARY KEY (id) 
); 

Voici le code HTML.

<form method="post" action="index.php"> 
<ul> 
    <li><label for="name">Name: </label><input type="text" name="name" id="name" /></li> 
    <li><label for="meaning">Meaning: </label><input type="text" name="meaning" id="meaning" /></li> 
    <li><input type="submit" name="submit" value="Save" /></li> 
</ul> 
</form> 
+0

Pourquoi avez-vous le soumettre caché? Voulez-vous dire avoir un ID utilisateur caché? – MJB

+0

Le champ caché est caché pour envoyer l'information au script PHP pour faire la validation. –

+1

Cette question est vraiment trop générale. On dirait que vous êtes coincé à la partie "PHP". Je vous suggère de suivre un tutoriel de style guestbook de base ou trois, et voir ce que vous apprenez. Puis revenez avec des questions plus spécifiques. En l'état, votre question est un peu proche de "Donnez-moi le codez! 11!" – timdev

Répondre

1

Si vous utilisez

<input name="myfield[]"> 

alors vous pouvez répéter cet élément plusieurs fois et en PHP, vous obtiendrez un tableau avec toutes les valeurs. Au lieu de myfield, vous pouvez utiliser n'importe quel nom. Assurez-vous simplement d'ajouter le "[]" à la fin.

1

Vous en quelque sorte créer un tableau de name et meanings sur les POST données, puis exécutez par quelque chose comme:

// Assuming count($name) == count($meaning) 
for($i = 0; $i < count($name); $i++) 
{ 
    $sql = "INSERT INTO `names` (`id`, `userID`, `name`, `meaning`) VALUES('', '', '".$name[$i]."', '".$meaning[$i]."');"; 
    mysql_query($sql); 
} 

Notez que depuis il y a l'entrée d'utilisateur les tableaux doivent être échappés avec addslashes lors de la création leur.

Questions connexes