begin process at 2012 05 28 16:24:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

appel à la base de donnees


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

appel à la base de donnees

mardi 13 janvier 2009 à 17:53:45 | appel à la base de donnees

nicodu94

Salut à tous, je suis débutant en php et je cherche à modifier un code. Je lutte depuis plus d'une semaine dessus.
Je veut créer un back office.
J'ai 2 pages:
1 page pour afficher tous les liens de ma base de donnees,
1 page pour soit modifier, soit insérer, soit supprimé une entrée de ma table.
-> Le probleme est le suivant: lorsque je veut modifier une entrée, il m'en crèe une nouvelle.
Je m'en sort plus, je ne comprend plus rien. Si vous pouvez m'aider, merci d'avance.

* Le champ id ne doit pas etre en auto-increment.



-> ma première page s'appelle liste_encyclopedie.php
  
<h2><a href="rediger_encyclopedie.php">Ajouter une encyclopedie</a></h2>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("faunafricaine");
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut poster une entrée ?
//-----------------------------------------------------
if (isset($_POST['id']) AND isset($_POST['titre']) AND isset($_POST['famille']) AND isset($_POST['physique']) AND isset($_POST['nourriture']) AND isset($_POST['accouplement']) AND isset($_POST['image']))
{
    $id = addslashes($_POST['id']);
 $titre = addslashes($_POST['titre']);
    $famille = addslashes($_POST['famille']);
    $physique = addslashes($_POST['physique']);
    $nourriture = addslashes($_POST['nourriture']);
    $accouplement = addslashes($_POST['accouplement']);
    $image = addslashes($_POST['image']);

    // On vérifie si c'est une modification d'entrée ou pas
    if ($_POST['id_encyclopedie'] == 0)
    {
        // Ce n'est pas une modification, on crée une nouvelle entrée dans la table
        mysql_query("INSERT INTO encyclopedie VALUES('".$id."', '" . $titre . "', '" . $famille . "', '" . $physique . "', '" . $nourriture . "', '" . $accouplement . "', '" . $image . "')");
    }
    else
    {
        // On protège la variable "id_encyclopedie" pour éviter une faille SQL
        $_POST['id_encyclopedie'] = addslashes($_POST['id_encyclopedie']);
        // C'est une modification, on met juste à jour les contenus
        mysql_query("UPDATE encyclopedie SET id='" . $id . "', titre='" . $titre . "', famille='" . $famille . "' , physique='" . $physique . "', nourriture='" . $nourriture . "', accouplement='" . $accouplement . "', image='" . $image . "'WHERE id='" . $_POST['id_encyclopedie'] . "'");
    }
}
 
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une entrée ?
//--------------------------------------------------------
if (isset($_GET['supprimer_encyclopedie'])) // Si on demande de supprimer une entrée
{
    // Alors on supprime l' entrée correspondante
    // On protège la variable "id_encyclopedie" pour éviter une faille SQL
    $_GET['supprimer_encyclopedie'] = addslashes($_GET['supprimer_encyclopedie']);
    mysql_query('DELETE FROM encyclopedie WHERE id=\'' . $_GET['supprimer_encyclopedie'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Titre</th>
<th>Id</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM encyclopedie ORDER BY id');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les entrées
{
?>
<tr>
<td><?php echo '<a href="rediger_encyclopedie.php?modifier_encyclopedie=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_encyclopedie.php?supprimer_encyclopedie=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['titre']); ?></td>
<td><?php echo stripslashes($donnees['id']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les entrées
?>
</table>





-> et voici ma deuxième page qui s'appelle rediger_encyclopedie.php

<h3><a href="liste_encyclopedie.php">Retour à la liste des entrées</a></h3>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("faunafricaine");
if (isset($_GET['modifier_encyclopedie'])) // Si on demande de modifier une entrée
{
    // On protège la variable "modifier_encyclopedie" pour éviter une faille SQL
    $_GET['modifier_encyclopedie'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_encyclopedie']));
   
    // On récupère les infos de l'entrée correspondante
    $retour = mysql_query('SELECT * FROM encyclopedie WHERE id=\'' . $_GET['modifier_encyclopedie'] . '\'');
    $donnees = mysql_fetch_array($retour);
   
    // On place les contenus dans des variables simples
    $id = stripslashes($donnees['id']);
 $titre = stripslashes($donnees['titre']);
    $famille = stripslashes($donnees['famille']);
    $physique = stripslashes($donnees['physique']);
    $nourriture = stripslashes($donnees['nourriture']);
    $accouplement = stripslashes($donnees['accouplement']);
    $image = stripslashes($donnees['image']);
    $id_encyclopedie = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on rédige une nouvelle entrée
{
    // Les variables sont vides, puisque c'est une nouvelle entrée
    $id = '';
    $titre = '';
    $famille = '';
    $physique = '';
    $nourriture = '';
    $accouplement = '';
    $image = '';
    $id_encyclopedie = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="liste_encyclopedie.php" method="post">

    <p>Titre : <input type="text" size="30" name="titre" value="<?php echo $titre; ?>" /></p>

    <p>id :<br />
    <textarea name="id" cols="50" rows="10">
    <?php echo $id; ?>
    </textarea><br />

    <p>famille :<br />
    <textarea name="famille" cols="50" rows="10">
    <?php echo $famille; ?>
    </textarea><br />
    </p>

    <p>description physique :<br />
    <textarea name="physique" cols="50" rows="10">
    <?php echo $physique; ?>
    </textarea><br />
    </p>

    <p>nourriture :<br />
    <textarea name="nourriture" cols="50" rows="10">
    <?php echo $nourriture; ?>
    </textarea><br />
    </p>

    <p>accouplement :<br />
    <textarea name="accouplement" cols="50" rows="10">
    <?php echo $accouplement; ?>
    </textarea><br />
    </p>

    <p>image :<br />
    <textarea name="image" cols="50" rows="10">
    <?php echo $image; ?>
    </textarea><br />
   
    <input type="hidden" name="id_encyclopedie" value="<?php echo $id_encyclopedie; ?>" />
    <input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>

mardi 13 janvier 2009 à 19:43:49 | Re : appel à la base de donnees

nhervagault

Administrateur CodeS-SourceS
Salut

Regardes la valeur de if ($_POST['id_encyclopedie'] == 0)

Si tu as bien 0 et pas "0" ou null de dedans.

C'est une idée non testée


Cette discussion est classée dans : donnees, post, id, entrée, encyclopedie


Répondre à ce message

Sujets en rapport avec ce message

pb de variables dans un formulaire d'upload [ par attentio ] salut ! j'ai un formulaire qui me permet d'administrer une table (collections) et en meme temps d'uploader des images.mais voila quand j'ajoute une co liste deroulante tjrs [ par cobrachris ] Bonjour,J'ai encore un problème par rapport à la récupération de données dans une BDD pour alimenter une liste déroulante.J'ai insérer le code dans ma email de confirmation [ par cladx ] bonjour je voudrai faire une page qui verifie les donner de l'url afin de verifier l'email de cofirmation mais  la page bug toujour  elle me repond to Problème de requete SQL [ par MrsDallara ] Bonjour à tous, j'ai une requete SQL qui ne s'execute pas, alors que je ne vois pas où l'erreur peut se trouver. Voici donc l'ensemble du code qui nou oh misére o desespoir , bleme de requette [ par CCJ ] bonjour alors que j'etait sur le point de finir le forum sur mon site , un bleme aparut. voici mon code: session_start(); if(isset($_SESSION['Pseudo' Problème php My_SQL [ par Pege89 ] Bon voilà je débute en php et My_SQL et j'ai un gros problème, insolluble pour moi :P Voici le problème : il me met une parse error à ces lignes ci : probleme de base de donnée [ par cacoucatatonique ] je désire generer automatiquement une base de donnée en fonction d'un formulaire; mon script est le suivant:   & Erreur de syntaxe!!! [ par lebelm ] Bonjour, J'essaie de créé un form pour ajouter des users. Les infos du user dans une table et les privilèges dans l'autre, mais sa me donne une erreur Problème avec un POST [ par stu76 ] Bonjour à tous,Je vous explique mon prob depuis plusieurs jour malalam(admin cs) et moi nous planchons sur un prob dans mon source.Nous avons isolé, e pb pour un id de session [ par biloutte33 ] bonjour, voilà j'aimerais savoir comment retourner l'id attribuer à mon membre qui viens de s'enregistrer dans sa connexion?voici ma page enregistre.p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales