[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [debian] Re: [debian] Re: [debian] Re: ajouter une donnée dans le champ d'une table MySQL





antoine@starinux.org a écrit :
Peux-tu nous donner tout les champs de ta table "auteur_philo" car je ne saisis pas bien comment se structure celle-ci.

Simplifions :
Un champ = "numéro_philo" (increment)
et un champ = "auteur_philo"
Puisque l'incrément est automatique, la méthode suivante devrait fonctionner pour ajouter un nouvel auteur :

//il faut se connecter a la base de données

$nouvel_auteur = "kant";
// il faudra également vérifier que kant n'existe pas déjà dans la BDD.
//si kant n'existe pas déjà, alors on l'ajoute
$sql = "INSERT INTO auteur(auteur_philo) VALUES ('$nouvel_auteur')";
if ($requete = mysql_query($sql))
{
echo '<p>Nouvel auteur : '.$nouvel_auteur.' ajouté à la base de données</p>';
}
else
{
echo'<p>Echec lors de l'ajour de '.$nouvel_auteur.' comme nouvel auteur</p>;
}
Une question : tu stockes tous les auteurs philosophiques dans un seul champ séparé par un espace ??? ou bien sont-ils stockés individuellement dans une ligne pour chacun ???
Dans le cas ou tu stocks tout dans une seul ligne, il sera difficile (mais pas impossible) de vérifier les doublons. Et je suppose qu'ensuite, l'identifiant de l'auteur philo est utilisé pour renseigner le champ auteur dans une table livre.
Si je pouvais avoir les 2 méthodes :
"séparées par un espace" et "dans une ligne pour chacun".
Donc séparer dans un espace, le code serait (mais préfere le stockage 1 ligne, 1 auteur)

//il faut se connecter a la base de données

$nouvel_auteur = "kant"; // il faudra également vérifier que kant n'existe pas déjà dans la BDD.
$sql = SELECT auteur_philo FROM auteur;
$requete = mysql_query($sql);
$auteur_philo = mysql_result($requete, 0) // le paramètre 0 est pour récupérer la 1ere ligne du résultat de $requete
$auteur_philo .= " ".$nouvel_auteur;
$sql = "INSERT INTO auteur(auteur_philo) VALUES ('$nouvel_auteur')";
if ($requete = mysql_query($sql))
{
echo '<p>Nouvel auteur : '.$nouvel_auteur.' ajouté à la base de données</p>';
}
else
{
echo'<p>Echec lors de l'ajour de '.$nouvel_auteur.' comme nouvel auteur</p>;
}
antoine

Les scripts n'ont pas été vérifiés, mais ça donne une idée.

NE TIENS PAS COMPTE DE CETTE REMARQUE SI JE SUIS A COTE DE LA PLAQUE : Je serai curieux de voir la structure de la BDD (tables et champs) car une table 'auteur_philo' me parait restrictive. Un table 'auteur' avec une table 'type de littérature' qui aurait pour contenu '1=>philo' '2=>policier' '3=>historique'... (je sais pas exactement, ce sont des exemples) et la table 'auteur' aurait un champ 'type de littérature' qui piocherait l'identifiant correspondant dans la table 'type de littérature'. Et encore, un auteur peu avoir plusieurs 'types de littérature' et donc attribuer le 'type de littérature' à un ouvrage plutôt qu'a un auteur !


Reply to: