Impossible d'enregistrer avec insert into
Résolu/Fermé
Firefly90
Messages postés
26
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
10 mai 2021
-
27 avril 2021 à 22:33
Firefly90 Messages postés 26 Date d'inscription mardi 27 avril 2021 Statut Membre Dernière intervention 10 mai 2021 - 28 avril 2021 à 14:01
Firefly90 Messages postés 26 Date d'inscription mardi 27 avril 2021 Statut Membre Dernière intervention 10 mai 2021 - 28 avril 2021 à 14:01
6 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 avril 2021 à 22:43
27 avril 2021 à 22:43
Bonjour
Comment se nomme la table dans laquelle tu veux faire l'insertion ?
Quelle est sa structure ?
Quelle est la relation entre tes tables ?(le lien entre ta table user et à table ville)
Quel est le lien avec le code PHP que tu nous montres ?
Ps: à l'avenir merci de préciser le langage dans les balises de code.
Explications, à lire entièrement, disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Comment se nomme la table dans laquelle tu veux faire l'insertion ?
Quelle est sa structure ?
Quelle est la relation entre tes tables ?(le lien entre ta table user et à table ville)
Quel est le lien avec le code PHP que tu nous montres ?
Ps: à l'avenir merci de préciser le langage dans les balises de code.
Explications, à lire entièrement, disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Firefly90
Messages postés
26
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
10 mai 2021
27 avril 2021 à 23:00
27 avril 2021 à 23:00
Bonsoir
la table ou je veux faire l'insertion s'appelle user_search.
il n'y a pas de lien entre la table user et villes car c'est la table user_search qui enregistre les recherche des utilisateurs.(ca sera elle qui fera le lien)
Par contre, dans ma table user_search j'ai ville_id et ville_nom qui sont present dans la table user et user_id et user_login qui sont present dans la table user.
c'est une base Mysql.
la table ou je veux faire l'insertion s'appelle user_search.
il n'y a pas de lien entre la table user et villes car c'est la table user_search qui enregistre les recherche des utilisateurs.(ca sera elle qui fera le lien)
Par contre, dans ma table user_search j'ai ville_id et ville_nom qui sont present dans la table user et user_id et user_login qui sont present dans la table user.
c'est une base Mysql.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 avril 2021 à 23:23
27 avril 2021 à 23:23
Alors je ne sais pas si c'est l'heure tardive ... mais j'ai du mal à voir ce que tu veux enregistrer et où exactement...
La table où tu veux faire l'insert c'est user_search .. ok... mais quelles sont les colonnes qui y sont présentes ? Lesquelles veux tu remplir ?
Avec quoi veux tu les remplir ?
Avec cette requête ?
Dans ce cas, dans les VALUES, ce sont les valeurs que tu dois mettre ..
Donc, ce qui est issu de ta requête
visiblement...
C'est donc dans ta boucle que tu dois faire ton insertion...
un truc du genre :
La table où tu veux faire l'insert c'est user_search .. ok... mais quelles sont les colonnes qui y sont présentes ? Lesquelles veux tu remplir ?
Avec quoi veux tu les remplir ?
Avec cette requête ?
INSERT INTO user_search (ville_id,ville_nom) VALUES ('ville_id', 'ville_nom')
Dans ce cas, dans les VALUES, ce sont les valeurs que tu dois mettre ..
Donc, ce qui est issu de ta requête
SELECT ville_id, ville_nom FROM villes WHERE ville_nom LIKE "' . $ville_nom . '"'
visiblement...
C'est donc dans ta boucle que tu dois faire ton insertion...
un truc du genre :
while ($donnees = $result->fetch_array()) { // ici tu fais ton insert $sql = "INSERT INTO user_search (ville_id,ville_nom) VALUES ('". $donnees['ville_id']."', '". $donnees['ville_nom']."')"; $mysqli->query($sql ): }
Firefly90
Messages postés
26
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
10 mai 2021
27 avril 2021 à 23:50
27 avril 2021 à 23:50
Bonsoir
Alors j'ai mis la boucle mais il ne se passe rien.
le probleme c'est que je dois aussi incorporer un user_id dans cette base qui est dans une autre table qui n'a aucun lien avec villes.
je n'ai pas de message d'erreur sur php.
Alors j'ai mis la boucle mais il ne se passe rien.
le probleme c'est que je dois aussi incorporer un user_id dans cette base qui est dans une autre table qui n'a aucun lien avec villes.
je n'ai pas de message d'erreur sur php.
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
27 avril 2021 à 23:53
27 avril 2021 à 23:53
Je te le demande pour la dernière fois... Quelle est la structure exacte de tes tables ?
Et puis...
Comment sais-tu quel user_id tu dois insérer ?
L'utilisateur est connecté ? Tu as stocker son identifiant en variable de session ?
Sinon comment fais-tu pour l'identifier dans cette page ?
Et puis...
Comment sais-tu quel user_id tu dois insérer ?
L'utilisateur est connecté ? Tu as stocker son identifiant en variable de session ?
Sinon comment fais-tu pour l'identifier dans cette page ?
Firefly90
Messages postés
26
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
10 mai 2021
28 avril 2021 à 07:57
28 avril 2021 à 07:57
Bonjout
En fait, j'ai une page de connexion ou j'utilise la table user.
les identifiants de session sont stocké dans la table user.
j'ai un fichier inc_identification dans chaque page.
mes 3 tables :
Table villes : ville_id(INTautoincrement
ville_nom(varchar)
ville_texte(TEXT)
pays_id(INT)
Table user: user_id(INT)
user_login(varchar)
user_password(varchar)
user_search: ville_id(INT)autoincrement
ville_nom(varchar)
user_id(INT)
en fait, je dois faire correspondre les villes avec l'utilisateur.
l'utilisateur tape une ville et je doit inscrire chaque recherche dans la base de données.
je les sauvegarde en gros.
En fait, j'ai une page de connexion ou j'utilise la table user.
les identifiants de session sont stocké dans la table user.
j'ai un fichier inc_identification dans chaque page.
mes 3 tables :
Table villes : ville_id(INTautoincrement
ville_nom(varchar)
ville_texte(TEXT)
pays_id(INT)
Table user: user_id(INT)
user_login(varchar)
user_password(varchar)
user_search: ville_id(INT)autoincrement
ville_nom(varchar)
user_id(INT)
en fait, je dois faire correspondre les villes avec l'utilisateur.
l'utilisateur tape une ville et je doit inscrire chaque recherche dans la base de données.
je les sauvegarde en gros.
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
1 556
28 avril 2021 à 09:09
28 avril 2021 à 09:09
bonjour,
je pense que tu dois faire plutôt:
et nous montrer le contenu de tes deux autres fichiers php.
je pense que tu dois faire plutôt:
$sql = "INSERT INTO user_search (ville_id,ville_nom, user_id) VALUES ('". $donnees['ville_id']."', '". $donnees['ville_nom']."', " . $id_utilisateur . " )";
et nous montrer le contenu de tes deux autres fichiers php.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Firefly90
Messages postés
26
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
10 mai 2021
28 avril 2021 à 08:58
28 avril 2021 à 08:58
Bonjour
Bon j'ai fini par reussir a récuperer l'id de session.
j'ai résolu le problème.
merci encore
Bon j'ai fini par reussir a récuperer l'id de session.
j'ai résolu le problème.
merci encore
Firefly90
Messages postés
26
Date d'inscription
mardi 27 avril 2021
Statut
Membre
Dernière intervention
10 mai 2021
28 avril 2021 à 14:01
28 avril 2021 à 14:01
Bonjour
en fait, j'ai réussi avec ce code la.
maintenant je veux récuperer mes recherches et les afficher dans la requete du bas.
c'est plus bas que ça coince.
en fait, j'ai réussi avec ce code la.
<?php require('inc_connexion.php'); ?>
<?php require('inc_identification_user.php'); ?>
<?php
if(session_status() == PHP_SESSION_NONE){
session_start();
}
?><html>
<link rel="stylesheet" type="text/css" href="style.css" />
<div id="container">
<h2>Rechercher une ville : </h2>
<!-- zone de connexion -->
<form method="POST" action="">
<input type="text" name="ville_nom">
<input type="SUBMIT" value="Search!">
</form>
</div>
</html>
<?php
//On definie la variable
if (isset($_POST['ville_nom'])) {
$ville_nom = $_POST['ville_nom'];}
{
if (empty($ville_nom))
{
echo "<p>" . "Veuillez saisir une ville !" . "</p>";
}
else
{
// la requete mysql de recherche
$result = $mysqli->query('SELECT ville_id, ville_nom FROM villes WHERE ville_nom LIKE "' . $ville_nom . '"');
while ($donnees = $result->fetch_array())
{
// ici tu fais ton insert
$sql = "INSERT INTO user_search (ville_id,ville_nom,user_id)
VALUES ('". $donnees['ville_id']."', '". $donnees['ville_nom']."','". $_SESSION['user_id']."')";
$mysqli->query($sql);
$villes[$donnees['ville_id']] = $donnees['ville_nom'];
}
}
}
?>
</div>
<div>
<p>Vos précédentes recherches :</p>
<?php
$result = $mysqli->query('SELECT ville_id From user_search where ville_id like "%'. $ville_id .'%" ');
$recherches = array();
while ( $row = $result->fetch_array())
{
$recherches[] = $row['ville_id'];
}?>
<ul>
<?php foreach ($villes as $id => $ville) : ?>
<li><a href="ville.php?id=<?php echo $id ?>"><?php echo $ville ?></a></li>
<?php endforeach ?>
</ul>
<?php require('inc_footer.php'); ?>
maintenant je veux récuperer mes recherches et les afficher dans la requete du bas.
c'est plus bas que ça coince.