Modifier le where id [Réglé]
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Je souhaiterait supprimer le where id de la requête et mettre un ORDER BY sauf que ça fonctionne pas :/
J'ai une erreur 500 à chaque fois
Code :
$req_points = PersistenceContext::get_querier()->select_single_row('phpboost_member', array('points'), 'WHERE user_id=:id', array(
'id' => $user = AppContext::get_current_user()->get_id()
));Voici le code original sans les modif du order by comme ça fonctionne pas :/
Merci
PaperToss Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Le problème vient de ton $user = AppContext...
Tu ne peux pas faire une déclaration dans une assignation.
Essaye en supprimant uniquement $user =
Cordialement.
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Erreur 500, même en virant tout pour garder que login
Code :
$req_login = PersistenceContext::get_querier()->select_single_row('member', array( 'login'));
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Code PHP :
$req_points = PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER, 'points', 'WHERE user_id=:id', array( 'id' => AppContext::get_current_user()->get_id() ));
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Merci pour vos réponses, mais justement ce que je cherche à faire comme dis dans le premier post, c'est d'enlever le Where (pour enregistrer justement la liste des pseudos dans une variable et faire $Mavariable[5] qui correspond au sixième pseudo dans la bdd
Avec Mysqli j'y arrive mais pas avec le système de requête pour PBT
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code :
$result = PersistenceContext::get_querier()->select("SELECT login
FROM " . PREFIX . "member");Celle-ci en gros j'aimerait faire que quand je fait par exemple $Bidule[0] ça affiche la première entrée du login
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Code PHP :
$users_array = array(); $result = PersistenceContext::get_querier()->select("SELECT login FROM " . PREFIX . "member"); while ($row = $result->fetch()) { $users_array[] = $row['login']; }
Mais je pense que ça serait mieux d'avoir le user_id, non ?
Code PHP :
$users_array = array(); $result = PersistenceContext::get_querier()->select("SELECT user_id, login FROM " . PREFIX . "member"); while ($row = $result->fetch()) { $users_array[$row['user_id']] = $row['login']; }
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Ce n'est justement pas dans une boucle que j'essaie d'afficher les infos mais bien dans une page en gros c'est pour faire
En gros c'est pour faire une condition du style si le pseudo entré dans le formulaire est différents de ce qu'il y a dans la base de données, alors, on indique le message " Le pseudo n'existe pas"
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Code PHP :
if (!in_array("monpseudo", $users_array)) echo " Le pseudo n'existe pas";
Ou alors je n'ai toujours pas compris ce que tu souhaites faire.
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code :
if ($pseudo == $req_points['login']) {
echo '<span class="error">Vous ne pouvez pas vous envoyer vous même des points.</span>';
}
elseif ($req_points['points'] <= $points) {
echo '<span class="error">Vous n\'avez pas assez de points pour effectuer cette opération.</span>';
}
elseif (empty($pseudo) OR empty($points)) {
echo '<span class="error">Tout les champs sont obligatoires.</span>';
} Ici on fait les erreurs afin justement d'indiquer à chaque situation que l'utilisateur rencontre, on lui indique une erreur, cependant le $req_point pour la colonne login n'est pas bon puisque dans le req_point il y a un Where ID, donc c'est impossible de tester si le pseudo indiquer dans le formulaire existe ou pas dans la base de données, puisque ça indique le login de nous, puisque y'a le where id = MAPropre id.
Alors du coup je veux faire une seconde requête qui elle listera tout les pseudos de la base de donnés, et faire un truc comme ceci:
elseif ($MARequete['login'] != $pseudo) {
echo '<span class="error">Désolé mais le pseudo à qui vous souhaitez envoyer des points n'existe pas ou a été supprimé.</span>';
}
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Il y a une fonction pour ça dans le noyau.
Code PHP :
elseif (!UserService::user_exists("WHERE login = :login", array('login' => $MARequete['login']))) { echo '<span class="error">Désolé mais le pseudo à qui vous souhaitez envoyer des points n'existe pas ou a été supprimé.</span>'; }
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Voici la requête
Code PHP :
//Insertion des points et mises à jour $Sql->query_inject("UPDATE " . PREFIX . "member SET points = points + " . $points . " WHERE login = '" . $pseudo . "'", __LINE__, __FILE__);
Par exemple dans le formulaire si je met -10, ça tire 10 points à l'utilisateur alors que le but du formulaire et d'envoyer des points pas de les soustraire, c'est une petite faille que j'arrive pas à résoudre :/
Merci encore
Édité par Myster Le 02/05/2016 à 12h27
j1.seth Membre non connecté
-
Administrateur
- Voir le profil du membre j1.seth
- Inscrit le : 01/09/2008
- Site internet
- Groupes :
-
Chef de Projet
-
Equipe Développement
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Imaginons que le membre à 12 points, par le biais du formulaire je lui en envoi 12, donc ça calcul 12, et ça lui en ajoute 12, donc 24. Cependant dans le formulaire si je met -12 ça lui retire des points et le but c'est justement d'en ajouter pas d'en retirer du coup j'ai essayer de faire une condition, si le nombre de point entré dans le formulaire est inférieur à 0 alors on affiche un message d'erreur ça fonctionne, sauf que si on met deux -- bah ça soustrait en fait :/
Merci de ton aide encore une fois
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie