Pages :
bonjour a tous,

la je suis vraiment désespéré,

je doit enregistré dans une table user_searchs deux city_id, user_id qui se trouve dans deux tables différentes dont les tables sont les suivantes....

table city:
city_id
city_name
city_text
cette table contient des informations

table users:
user_id
user_first_name
user_name
city_id //de la table city pour faire la relation
cette table contiendra des informations après validation du formulaires

table user_searchs:
user_id
city_id
cette table contiendra des informations après validation du formulaires
cette table servira a afficher toutes les informations que l'utilisateur aura recherché

HELP ME!

<?php
require('inc/connection.php'); //connection a la base de donnée

?>
<!doctype html>
<html>
<head>
<title>acceuil</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
</head>
<body>
<div class="content">
<center>

<h1>formulaire de recherche de villes</h1>

<?php
if(isset($_GET['submit']))
{
//print_r($_GET);

$user_first_name = $_GET['user_first_name'];


$user_name = $_GET['user_name'];


$city_name = $_GET['city_name'];


if((empty($_GET['user_first_name'])) AND empty($_GET['user_name'])){

// var_dump($_GET);

$message = '<p>veuillez remplir tous les champs</p>';


}else{


if($mysqli->query('INSERT INTO users(user_first_name, user_name) VALUE(" '.$user_first_name. ' ", " ' .$user_name . ' ") ')){


$message = '<p>votre prénom ' .$user_first_name.' et votre nom ' .$user_name . ' ont ete enregistre.</p>';

}else{

$message = '<p>votre prénom ' .$user_first_name.' et votre nom ' .$user_name . ' n ont pas ete enregistre.</p>';

}

}
if(empty($user_first_name) OR empty($user_name) AND empty($city_name)){

$message = '<p>veuillez remplir tous les champs</p>';

}else{


$result = ('SELECT user_id FROM users WHERE user_id = user_id ');

$req = ('SELECT city_id FROM city WHERE city_id = city_id');

if($mysqli->query ('INSERT INTO user_searchs(user_id, city_id) VALUES (" '. $result . ' ", " ' .$req. ' ") ')){

$message = '<p>vos informations ont ete enregistre.</p>';

}else{

$message = '<p>vos informations n ont pas ete enregistre.</p>';

}
}

}
?>

<?php if(isset($message)) echo $message; ?>

<form action="index.php" method="GET">
<p>quel est votre prenom : <input class="button" type="text" name="user_first_name" placeholder="votre prénom" /></p>
<p>quel est votre nom : <input class="button" type="text" name="user_name" placeholder="votre nom" /></p>
<p>quel ville recherchez vous : <input class="button" type="text" name="city_name" placeholder="votre ville" /></p>
<p><input type="submit" name="submit" value="recherche" /></p>

</form>
</center>

</div>

</body>

</html>
$result = ('SELECT user_id FROM users WHERE user_id = user_id ');

$req = ('SELECT city_id FROM city WHERE city_id = city_id');


ça c'est faux.
j'ai essayer comme tu me l'a dit hier mais rien...

$result = ('SELECT * FROM users WHERE users = user_id');

$req = ('SELECT * FROM city WHERE city = city_id');

ça enregistre a 0
message d'erreur phpadmin

" La sélection courante ne contient pas de colonne unique. Les grilles d'édition, les cases à cocher ainsi que les liens Edition, Copie et Supprimer ne sont pas disponibles."
boni75 a écrit :
j'ai essayer comme tu me l'a dit hier mais rien...

$result = ('SELECT * FROM users WHERE users = user_id');

$req = ('SELECT * FROM city WHERE city = city_id');

ça enregistre a 0


c'est normal la clause de la requête est fausse.

$result = ('SELECT * FROM users WHERE users = ' . $user_id . ');
$user_first_name = $_GET['user_id'];


$user_name = $_GET['user_id'];


$city_name = $_GET['city_id'];


$result = ('SELECT * FROM users WHERE users =" ' .$user_id . ' "');

$req = ('SELECT * FROM city WHERE city = " ' .$city_id . ' " ');
variable indefini
$user_id = $mysqli->query ('SELECT user_id FROM users WHERE users_name = ' . $user_name . ');

Modifié par JENCAL (25 Nov 2015 - 13:53)
il ne faut pas oublier $mysqli->query !!!!!!!!!!!! je ne le vois pas dans tes select ! sinon c'est sur que ça va pas fonctionner

$user_id = $mysqli->query ('SELECT user_id FROM users WHERE users_name = ' . $user_name . ');

Modifié par JENCAL (25 Nov 2015 - 13:53)
désoler je vais encore t ' embêté, cela m'affiche

Object of class mysqli_result could not be converted to string

"objet de classe mysqli_result ne pouvais pas etre converti pour tendre
donc la requête est bien passé, tu as les résultat dans l'objet $user_id

l'erreur provient maintenant de l'utilisation que tu fais de $user_id, après la requête select.
Modifié par JENCAL (25 Nov 2015 - 15:10)
si tu fais juste

if($mysqli->query ('INSERT INTO user_searchs(user_id, city_id) VALUES (" '. $result . ' ", " ' .$req. ' ") ')

direct après, c'est sûr que cela ne marche pas, parce que $result (ou $user_id) c'est pas un string. c'est un objet mysqli comme indiqué dans ton erreur.
j'ai reconverti en tableau mais cela enregistre a 0,

bout du code:

$user_id=$mysqli->query ('SELECT user_id FROM users WHERE user_name = " ' .$user_name. ' " ');

$row = mysqli_fetch_assoc($user_id);

$row['user_id'];

$city_id=$mysqli->query ('SELECT city_id FROM city WHERE city_name =" ' .$city_name . ' " ');

$row = mysqli_fetch_assoc($city_id);

$row['city_id'];
if($mysqli->query ('INSERT INTO user_searchs(user_id, city_id) VALUES (" '. $row['user_id'] . ' ", " ' .$row['city_id']. ' ") ')){

$message = '<p>vos informations ont ete enregistre.</p>';

}else{

$message = '<p>vos informations n ont pas ete enregistre.</p>';

}
essaye

$user_id=$mysqli->query ('SELECT user_id FROM users WHERE user_name = " ' .$user_name. ' " ')->fetch_object()->user_id; 


tu fetch direct en une ligne pour avoir un seul résultat sous forme de string.
Modifié par JENCAL (25 Nov 2015 - 15:36)
Trying to get property of non-object

message erreur

je peut te demander quelque chose,

est ce que au début tu as galéré comme moi ou je suis bête?
nan tu n'es pas bête, tu fais trop d'erreur de syntaxe, donc c'est assez compliqué de t'aider. mais comme tu dis , c 'est ton début.


montre moi ton code.

l'erreur nous dit juste que y'a aucun résultat pour ta requête. ta table est bien rempli ? as-tu la possibilité de regarder sur quelque chose comme PhpMyAdmin ? ou alors, aucun résultat portant le nom contenu dans $user_name.
Modifié par JENCAL (25 Nov 2015 - 15:54)
a yé ça enregistre bien c'étais dans les requêtes,

$result =$mysqli->query ('SELECT user_id FROM users WHERE user_id = user_id ');

$row = $result->fetch_array();

$user_name = $row['user_id'];


$req =$mysqli->query ('SELECT city_id FROM city WHERE city_id = city_id');


$row = $req->fetch_array();

$city_name = $row['city_id'];

merci de me remonter le moral....
Pages :