Imbrication PHP/MySql, SELECT et $
stanymassart
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
aomaom Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
aomaom Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voici ce que je veux faire et le problème que je rencontre :
J'ai une page "proposer_news.php", qui comme son nom l'indique, permet d'ajouter une news dans la base de données. La table qui réceptionne ces données s'appelle tbl_news.
Il y a dans la table tbl_news un champ nommé news_auteur. Ce champ est une clé étrangère de la table "utilisateurs". Il recoit donc des nombres qui sont les valeurs de la clé primaire de "utilisateurs". Cette clé primaire est nomée user_id
Dans le formulaire présent sur la page "proposer_news", un champ caché est censé envoyer à la base de données le user_id qui correspond à celui de la personne qui s'est identifiée, et c'est là que ça coince.
la variable $_SESSION['Username'] est le pseudo sous lequel la personne s'est identifiée, mais comment faire en sorte que le formulaire n'envoie pas le pseudo à la base, mais bien le user_id qui lui corresond ?
J'ai essayé un truc de manière très intuitive, qui ne fonctionne évidemment pas (ben non, ce serait trop beau... ;). Il s'agit de définir une variable id_auteur_news et de la faire envoyer par le formulaire. Cela donnerait :
où $SESSION['UserName']représente le pseudo sous lequel la personne s'est identifiée.
Quelqu'un à une idée de comment je pourrais réaliser cela ??
Merci d'avance.
Stan
Voici ce que je veux faire et le problème que je rencontre :
J'ai une page "proposer_news.php", qui comme son nom l'indique, permet d'ajouter une news dans la base de données. La table qui réceptionne ces données s'appelle tbl_news.
Il y a dans la table tbl_news un champ nommé news_auteur. Ce champ est une clé étrangère de la table "utilisateurs". Il recoit donc des nombres qui sont les valeurs de la clé primaire de "utilisateurs". Cette clé primaire est nomée user_id
Dans le formulaire présent sur la page "proposer_news", un champ caché est censé envoyer à la base de données le user_id qui correspond à celui de la personne qui s'est identifiée, et c'est là que ça coince.
la variable $_SESSION['Username'] est le pseudo sous lequel la personne s'est identifiée, mais comment faire en sorte que le formulaire n'envoie pas le pseudo à la base, mais bien le user_id qui lui corresond ?
J'ai essayé un truc de manière très intuitive, qui ne fonctionne évidemment pas (ben non, ce serait trop beau... ;). Il s'agit de définir une variable id_auteur_news et de la faire envoyer par le formulaire. Cela donnerait :
$id_auteur_news= "SELECT user_id FROM utilisateurs ON utilisateurs.user_id=$SESSION['UserName]";
où $SESSION['UserName']représente le pseudo sous lequel la personne s'est identifiée.
Quelqu'un à une idée de comment je pourrais réaliser cela ??
Merci d'avance.
Stan
A voir également:
- Imbrication PHP/MySql, SELECT et $
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Reboot and select proper boot device asus - Forum Matériel & Système
- Php alert ✓ - Forum PHP
2 réponses
Salut Stan,
je suis tout à fait d'accord dans ton idée de requête mais je l'écrirais comme ca moi :
et puis il faut lancer ta requete aussi ce que tu ne fais pas je pense :
Voila j'espere que ca peut t'aider,
je suis tout à fait d'accord dans ton idée de requête mais je l'écrirais comme ca moi :
et puis il faut lancer ta requete aussi ce que tu ne fais pas je pense :
mysql_connect("localhost", "nomdutilisateur", "motdepasse"); // Connexion a MySQL mysql_select_db("nomdetaBD"); // Selection de la base coursphp $requete = "SELECT user_id FROM utilisateurs where utilisateurs.user_id = ".$SESSION['UserName]; // Requete SQL $reponse = mysql_query($requete); if($donnees = mysql_fetch_array($reponse) ) { $id_auteur_news = $donnees['user_id']; }
Voila j'espere que ca peut t'aider,
j une page php qui a de zone de text 1 nome cdepro et la 2 qtprod
ca donne variable $_POST['cdpro'] et $_POST['qtpro'].
j'aime compare ci $_POST['cdpro'] = code de produit de matable; et $_POST['qtpro'] =< qte qui enregiste sur matable.
si le code entrer par le client ($_POST['cdpro']) et $_POST['qtpro'] =< qte qui enregiste sur le client va remplie une formulaire de demande
sinon un message avec echo" .....etc".
voila le code :
<?php
if (isset($_POST['cdpro']) AND isset($_POST['qtpro'])) // Si les variables existent
{
if ($_POST['cdpro'] != NULL AND isset($_POST['qtpro'])) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "root", "");
mysql_select_db("produit");
$reponse = mysql_query("select qtpro from produits where cdpro =$_POST['cdpro'] and qtpro =< $_POST['qtpro'] "); // a ce ligne php signaler a moi que l'error y la!!. ( la requete doit faire la selection avec les cretere qui entre l'utilisateur dans les 2 zone de saise) avant que verifier
$vartable = mysql_result($reponse, 0) avec le stock demander )
$cdpro = mysql_real_escape_string(htmlspecialchars($_POST['cdpro']));
$pripro = mysql_real_escape_string(htmlspecialchars($_POST['pripro']));
// Ensuite on enregistre le message
// On se déconnecte de MySQL
$vartable = mysql_result($reponse, 0);
echo $vartable;
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="verstock.php" method="post">
<p>
Code De Produit Demander : <input type="text" name="cdpro" /><br />
Qté De Produit Demander : <input type="text" name="qtpro" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
ca donne variable $_POST['cdpro'] et $_POST['qtpro'].
j'aime compare ci $_POST['cdpro'] = code de produit de matable; et $_POST['qtpro'] =< qte qui enregiste sur matable.
si le code entrer par le client ($_POST['cdpro']) et $_POST['qtpro'] =< qte qui enregiste sur le client va remplie une formulaire de demande
sinon un message avec echo" .....etc".
voila le code :
<?php
if (isset($_POST['cdpro']) AND isset($_POST['qtpro'])) // Si les variables existent
{
if ($_POST['cdpro'] != NULL AND isset($_POST['qtpro'])) // Si on a quelque chose à enregistrer
{
// D'abord, on se connecte à MySQL
mysql_connect("localhost", "root", "");
mysql_select_db("produit");
$reponse = mysql_query("select qtpro from produits where cdpro =$_POST['cdpro'] and qtpro =< $_POST['qtpro'] "); // a ce ligne php signaler a moi que l'error y la!!. ( la requete doit faire la selection avec les cretere qui entre l'utilisateur dans les 2 zone de saise) avant que verifier
$vartable = mysql_result($reponse, 0) avec le stock demander )
$cdpro = mysql_real_escape_string(htmlspecialchars($_POST['cdpro']));
$pripro = mysql_real_escape_string(htmlspecialchars($_POST['pripro']));
// Ensuite on enregistre le message
// On se déconnecte de MySQL
$vartable = mysql_result($reponse, 0);
echo $vartable;
mysql_close();
}
}
// Que l'on ait enregistré des données ou pas...
// On affiche le formulaire puis les 10 derniers messages
// Tout d'abord le formulaire :
?>
<form action="verstock.php" method="post">
<p>
Code De Produit Demander : <input type="text" name="cdpro" /><br />
Qté De Produit Demander : <input type="text" name="qtpro" /><br />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>