Problème avec l'utilisation d'une boucle,condition et un booléen [Résolu]

Signaler
Messages postés
28
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
28 janvier 2012
-
Messages postés
28
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
28 janvier 2012
-
Bonsoir à tous,
Voilà mon problème depuis plus de 2 heures que j'essaye de trouver une solution à ce problème, j'essaye d'utiliser un booléen pour savoir si il passe par une l'étape en mettant une condition, bon voilà le code
$sql 'SELECT * FROM 'notes' WHERE 'pseudo' "'.$pseudo.'"';
$req = mysql_query($sql);
$trouver=false;
while($data = mysql_fetch_assoc($req)) {
if ($_POST['matiere'] == $data['matiere']) {
$trouver=true;
}
}
if ($trouve==true) {
echo 'ça existe';
}
else {
echo'ça n'.'existe pas';
}




Moi ce que je veux essayer de faire avec ça c'est qu'il recherche dans la table membre les lignes ou y a la variable $pseudo, et puis si il en trouve deux par exemple il doit regarder dans la colonne matiere si il en trouve une comme c'elle que l'utilisateur a entré dans le formulaire ( $_POST['matiere'] ) si c'est vrai alors ça existe sinon ça n'existe pas

le problème c'est qu'il affiche toujours le texte "ça n'existe pas"

Merci beaucoup pour votre aide.

7 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
if ($trouver==true)
Il y a plus simple comme façon de faire :
$sql 'SELECT id_notes FROM notes WHERE pseudo "' . mysql_real_escape_string($pseudo);
$sql .= '" AND matiere="' . mysql_real_escape_string($data['matiere']) . '"';
$req = mysql_query($sql);
echo (mysql_num_rows($req) ? 'existe' : 'n\'existe pas');


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
14
bonsoir
essaie

<?php
mysql_connect('localhost','root','');
mysql_select_db('123456');

print_r($_POST);

/*initialisation*/

$matiere = isset($_POST['matiere']) ? $_POST['matiere'] : null;
$pseudo = isset($_POST['pseudo']) ? $_POST['pseudo'] : null;

$msg=$trouver=null;

$sql "SELECT * FROM notes WHERE pseudo '".$pseudo."'";

$req = mysql_query($sql);

while($data = mysql_fetch_array($req)) {
    
        
    if($_POST['matiere'] == $data['matiere']) {
    $trouver=true;
    $msg='ok';
    }else{
    $trouver=false;
    $msg='ça n\'existe pas';
    }
    
}

/*resultats*/

echo '';
print_r($msg);
echo '
';
print_r($trouver); /*0 ou 1*/
echo '

';
?>
<form method="post" action="">

calcul
anglais

</form>
<!--
-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Serveur: localhost
-- Généré le : Ven 20 Janvier 2012 à 19:59
-- Version du serveur: 5.1.36
-- Version de PHP: 5.2.11

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--
-- Base de données: `123456`
--

-- --------------------------------------------------------

--
-- Structure de la table `notes`
--

CREATE TABLE IF NOT EXISTS `notes` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  `pseudo` varchar(30) NOT NULL,
  `matiere` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

--
-- Contenu de la table `notes`
--

INSERT INTO `notes` (`id`, `pseudo`, `matiere`) VALUES
(1, 'toto', 'anglais'),
(2, 'titi', 'calcul'),
(3, 'tata', 'rien'),
(4, 'tutu', 'rien');
-->


Bonne programmation !
Messages postés
28
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
28 janvier 2012

Merci de votre réponse, à propos du r que j'ai oublié pour $trouver ça ne marche toujours pas, et même avec votre code ça ne marche toujours pas, car moi si ça réussi, j'ai toujours ça n'existe pas.

et après si ça réussi je changerais ce bout de code
echo'ça n\'existe pas';
car pour l'instant c'est juste pour savoir si ça marche ou pas, avant que je continue.

Merci de votre réponse.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Y a-t-il un message d'erreur, un warning ?


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
28
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
28 janvier 2012

Bonsoir à tous,

j'ai trouvé la solution, merci beaucoup pour votre aide, une dernière chose si c'est possible, quel est le meilleur livre pour le PHP à acheter ?

Merci beaucoup à vous.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Perso je n'ai pas appris le PHP via des livres mais via le tuto du SdZ (je connaissais déjà ASP3 et le fonctionnement général des bases de données).

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Messages postés
28
Date d'inscription
mardi 7 avril 2009
Statut
Membre
Dernière intervention
28 janvier 2012

Oui c'est vrai que le Tuto de SDZ est un super tuto, et j'ai apris beaucoup de chose sur le PHP avec ce tuto.