IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

chercher dans une base de données


Sujet :

PHP & Base de données

  1. #41
    Invité
    Invité(e)
    Par défaut
    OK.
    Prenons les choses en main...

    1. EFFACE TOUT TON CODE
    2. REMPLACE-LE par celui-ci (copier-coller)


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <?php
    include("includes/connect_db.php");
    $errorMessage = '';
    $result = '';
     
    $query = ( !empty($_POST['query']) )? preg_replace("#[^a-z ?0-9]#i", "", $_POST['query']) : '';
     
    echo '$query : '.$query.'<br/>';
     
    if( !empty($query) )
    {
    	$sql_count = "SELECT COUNT(*) ";
    	$sql_search = "SELECT u.id, u.fname, u.lname, a.acc_no, a.balance, a.status, a.bdate, a.type, a.id AS acc_id ";
    	$sql_from_where = " FROM tbl_accounts a INNER JOIN tbl_users u ON u.id = a.user_id WHERE a.acc_no LIKE ? ORDER BY a.acc_no ";
    	$params = array('%' . $query . '%' );
     
    	echo 'Requête count : '.$sql_count.$sql_from_where.'<br/>';
     
    	$req_count = $db->prepare($sql_count.$sql_from_where);
    	$req_count->execute($params);
    	$count = $req_count->fetchColumn();
     
    	echo "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>";
     
    	if ($count >= 1)
    	{
    		$req = $db->prepare($sql_search.$sql_from_where);
    		$req->execute($params);
     
    		echo 'Requête search : '.$sql_search.$sql_from_where.'<br/>';
     
    		while( $row = $req->fetch(PDO::FETCH_ASSOC) )
    		{
    			echo '<pre>'; print_r($row); echo '</pre>'; 
    		}
    	}
    }
    ?>
    Maintenant : MONTRE-NOUS CE QUI S'AFFICHE à l'ECRAN.
    Dernière modification par Invité ; 25/04/2018 à 14h26.

  2. #42
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par cheboy Voir le message
    La valeur que je saisis dans le Moteur de Recherche et qui est disponible dans la Base de données est celle du a.acc_no qui est appelée par la requête SELECT (Ligne 10 du Code) de la variable $sql_search et représentée par un Numéro de compte (bien disponible dans la BDD) : 1255050095
    Donc tu ne fais pas ce que je te demande. 2 enregistements, pas 1 mais 2...
    Et après, tu m'expliques ce que ton code est censé faire, comme si c'est moi qui ne comprenait rien. Bilan après 11 jours, tu me réponds seulement à ma question 1.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  3. #43
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    1. EFFACE TOUT TON CODE
    2. REMPLACE-LE par celui-ci (message précédent))


    Maintenant : MONTRE-NOUS CE QUI S'AFFICHE à l'ECRAN.

  4. #44
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Bonjour.
    En remplaçant (debuggant) le code par celui que jreaux62 m'a donné, j'ai reçois un retour du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Requête count : SELECT COUNT(*) FROM tbl_accounts a INNER JOIN tbl_users u ON u.id = a.user_id WHERE a.acc_no LIKE ? ORDER BY a.acc_no
     
    1 résultat(s) trouvé(s) pour 1234556666
     
    Requête search : SELECT u.id, u.fname, u.lname, a.acc_no, a.balance, a.status, a.bdate, a.type, a.id AS acc_id FROM tbl_accounts a INNER JOIN tbl_users u ON u.id = a.user_id WHERE a.acc_no LIKE ? ORDER BY a.acc_no 
    Array
    (
        [id] => 4
        [fname] => Cheg
        [lname] => Soft
        [acc_no] => 1234556666
        [balance] => 212.45
        [status] => ACTIVE
        [bdate] => 2015-01-03 00:53:05.000000
        [type] => CA
        [acc_id] => 1
    )

  5. #45
    Invité
    Invité(e)
    Par défaut
    Alléluia !!
    Enfin un résultat positif !
    Bravo moi !

    Maintenant,

    1-REMPLACE TOUT CE CODE PAR CELUI-CI :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <?php
    include("includes/connect_db.php");
    $errorMessage = '';
    $result_table = '';
     
    $query = ( !empty($_POST['query']) )? preg_replace("#[^a-z ?0-9]#i", "", $_POST['query']) : '';
     
    if( !empty($query) )
    {
    	$sql_count = "SELECT COUNT(*) ";
    	$sql_search = "SELECT u.id, u.fname, u.lname, a.acc_no, a.balance, a.status, a.bdate, a.type, a.id AS acc_id ";
    	$sql_from_where = " FROM tbl_accounts a INNER JOIN tbl_users u ON u.id = a.user_id WHERE a.acc_no LIKE ? ORDER BY a.acc_no ";
    	$params = array('%' . $query . '%' );
     
    	$req_count = $db->prepare($sql_count.$sql_from_where);
    	$req_count->execute($params);
    	$count = $req_count->fetchColumn();
     
    	if ($count >= 1)
    	{
    		$result_table .= "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>";
     
    		// Construction de la table
    		$result_table .= '
    		<div id="errorCls" style="color:#FF0000 !important;font-size:14px;font-weight:bold;">'.$errorMessage.'</div>
    		<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" class="text">
    			<thead>
    			<tr align="center" id="listTableHeader">
    				<th>User Name</th>
    				<th>Account No.</th>
    				<th>Balance</th>
    				<th style="width:120px;">Account Type</th>
    				<th style="width:80px;">Account status</th>
    				<th style="width:70px;">Statement</th>
    			</tr>
    			</thead>
    			<tbody>
    			';
    		$i=0;
     
    		$req = $db->prepare($sql_search.$sql_from_where);
    		$req->execute($params);
     
    		while( $row = $req->fetch(PDO::FETCH_ASSOC) )
    		{
    			$class = ($i%2)? 'row1' : 'row2';
    			$i++;
     
    			$atype = '';
    			switch($row['type'])
    			{
    				case 'CA':
    					$atype = "Checking Account";
    					break;
    				case 'SA':
    					$atype = "Saving Account";
    					break;
    				case 'FDA':
    					$atype = "Fixed deposit Account";
    					break;
    			}
     
    			$result_table .= '
    			<tr class="'.$class.'">
    				<td>'.$row['fname'] .' '.$row['lname'].'</td>
    				<td style="text-align:center;"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$row['acc_id'].'" >'.$row['acc_no'].'</a></td>
    				<td style="text-align:center;">'.$row['balance'].'</td>
    				<td style="text-align:center;">'.$atype.'</td>
    				<td style="text-align:center;"><a href="javascript:changeAccStatus('.$row['acc_id'].','.$row['status'].');" '.($row['status'] == "INACTIVE")? "Inactive":"Active".'></td>
    				<td style="text-align:center;"><a href="javascript:viewAccountStatement('.$row['id'].','.$row['acc_no'].');">Statement</a></td>
    			</tr>
    			';
     
    		} // fin while
     
    		$result_table .= '
    			</tbody>
    		</table>
    		<hr />
    			';
     
    	} // fin si $count >= 1
    	else {
    		$result_table .= "Il n'y a aucun résultat trouvé pour le Numéro de compte: <strong>$query</strong><hr/>";
    	}
    }
    ?>

    2- AJOUTE CE CODE là où tu veux l'AFFICHER (dans le code HTML) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    // AFFICHAGE de la table/résultat dans le code HTML
    echo $result_table;
    ?>
    3- MONTRE-NOUS CE QUI S'AFFICHE à l'écran !

    N.B. la variable $errorMessage n'est pas utilisée/affectée (elle est toujours vide '').
    A toi ce savoir quoi en faire...

  6. #46
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Ok merci jreaux62.

  7. #47
    Invité
    Invité(e)
    Par défaut
    OK QUOI ??
    C'est bon ou pas ?

    Citation Envoyé par jreaux62 Voir le message
    3- MONTRE-NOUS CE QUI S'AFFICHE à l'écran !

  8. #48
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    OK QUOI ??
    C'est bon ou pas ?
    Bonjour.

    J'ai modifier le Code comme conseillé. Mais voici ce que ça retourne:

    Nom : CAPTURE_D_ECRAN_ERREUR_CHEGBK.png
Affichages : 80
Taille : 7,0 Ko

    Ça ne marche toujours pas.

  9. #49
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par cheboy Voir le message
    Ok merci jreaux62.
    Donc "Ok" avec cheboy, ça veut dire "Ça ne marche toujours pas."

    J'ai pas le bon décodeur.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  10. #50
    Invité
    Invité(e)
    Par défaut
    PEUX-TU nous montrer le code COMPLET de la page ?
    (pas seulement le PHP. Le HTML aussi)





    @Dendrite
    Comme le disait Steve McQueen dans les Mercenaires : "...Jusqu'ici ça va... Jusqu'ici ça va..."
    (0:40)


  11. #51
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    PEUX-TU nous montrer le code COMPLET de la page ?
    (pas seulement le PHP. Le HTML aussi)


    Voici le code HTML correspondant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>Moteur de Recherche</title>
    		<meta charset="UTF-8" />
    	</head>
    	<body> 
     		<center><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    			<input type="search" name="query" size="24" placeholder="Rechercher un Numéro ..." /><br/>
    		</form></center>
     
    		<?php echo echo $result_table; ?>
    	</body>
    </html>

  12. #52
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<?php echo echo $result_table; ?>



    Montre TOUT LE CODE !!!
    Dernière modification par Invité ; 27/04/2018 à 12h24.

  13. #53
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Voici tout le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    <?php
    include("includes/connect_db.php");
    $errorMessage = '';
    $result_table = '';
     
    $query = ( !empty($_POST['query']) )? preg_replace("#[^a-z ?0-9]#i", "", $_POST['query']) : '';
     
    if( !empty($query) )
    {
    	$sql_count = "SELECT COUNT(*) ";
    	$sql_search = "SELECT u.id, u.fname, u.lname, a.acc_no, a.balance, a.status, a.bdate, a.type, a.id AS acc_id ";
    	$sql_from_where = " FROM tbl_accounts a INNER JOIN tbl_users u ON u.id = a.user_id WHERE a.acc_no LIKE ? ORDER BY a.acc_no ";
    	$params = array('%' . $query . '%' );
     
    	$req_count = $db->prepare($sql_count.$sql_from_where);
    	$req_count->execute($params);
    	$count = $req_count->fetchColumn();
     
    	if ($count >= 1)
    	{
    		$result_table .= "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>";
     
    		// Construction de la table
    		$result_table .= '
    		<div id="errorCls" style="color:#FF0000 !important;font-size:14px;font-weight:bold;">'.$errorMessage.'</div>
    		<table width="100%" border="0" align="center" cellpadding="2" cellspacing="1" class="text">
    			<thead>
    			<tr align="center" id="listTableHeader">
    				<th>User Name</th>
    				<th>Account No.</th>
    				<th>Balance</th>
    				<th style="width:120px;">Account Type</th>
    				<th style="width:80px;">Account status</th>
    				<th style="width:70px;">Statement</th>
    			</tr>
    			</thead>
    			<tbody>
    			';
    		$i=0;
     
    		$req = $db->prepare($sql_search.$sql_from_where);
    		$req->execute($params);
     
    		while( $row = $req->fetch(PDO::FETCH_ASSOC) )
    		{
    			$class = ($i%2)? 'row1' : 'row2';
    			$i++;
     
    			$atype = '';
    			switch($row['type'])
    			{
    				case 'CA':
    					$atype = "Checking Account";
    					break;
    				case 'SA':
    					$atype = "Saving Account";
    					break;
    				case 'FDA':
    					$atype = "Fixed deposit Account";
    					break;
    			}
     
    			$result_table .= '
    			<tr class="'.$class.'">
    				<td>'.$row['fname'] .' '.$row['lname'].'</td>
    				<td style="text-align:center;"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$row['acc_id'].'" >'.$row['acc_no'].'</a></td>
    				<td style="text-align:center;">'.$row['balance'].'</td>
    				<td style="text-align:center;">'.$atype.'</td>
    				<td style="text-align:center;"><a href="javascript:changeAccStatus('.$row['acc_id'].','.$row['status'].');" '.($row['status'] == "INACTIVE")? "Inactive":"Active".'></td>
    				<td style="text-align:center;"><a href="javascript:viewAccountStatement('.$row['id'].','.$row['acc_no'].');">Statement</a></td>
    			</tr>
    			';
     
    		} // fin while
     
    		$result_table .= '
    			</tbody>
    		</table>
    		<hr />
    			';
     
    	} // fin si $count >= 1
    	else {
    		$result_table .= "Il n'y a aucun résultat trouvé pour le Numéro de compte: <strong>$query</strong><hr/>";
    	}
    }
    ?>
     
    <!DOCTYPE html>
    <html>
    	<head>
    		<title>Moteur de Recherche</title>
    		<meta charset="UTF-8" />
    	</head>
    	<body> 
     		<center><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    			<input type="search" name="query" size="24" placeholder="Rechercher un Numéro ..." /><br/>
    		</form></center>
     
    		<?php echo $result_table; ?>
    	</body>
    </html>

  14. #54
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<?php echo $result_table; ?>
    :

    1- et ça ne donne rien ???

    2- AJOUTE EN DEBUT de fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    error_reporting(E_ALL); 	// en TEST !!

    3- Je ne comprends pas ce que vient faire le "Inactive" à l'affichage de la table....

    Peut-on voir le code HTML généré ("Ctrl" + "U") ?

  15. #55
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    En fait, Célira avait déjà donné la réponse pour la requête, mais cheboy n'avait pas jugé bon d'appliquer...
    Le numéro de compte étant numérique, il faut le caster as char...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $sql_from_where = " FROM tbl_accounts a INNER JOIN ON tbl_users u ON u.id=a.user_id WHERE CAST(a.acc_no as CHAR) LIKE ? ORDER BY a.acc_no ";
    Célira il y a 9 jours :

    https://www.developpez.net/forums/d1.../#post10170948
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  16. #56
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2013
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2013
    Messages : 452
    Points : 66
    Points
    66
    Par défaut
    Bonjour.

    1 -
    Citation Envoyé par Dendrite Voir le message
    En fait, Célira avait déjà donné la réponse pour la requête, mais cheboy n'avait pas jugé bon d'appliquer...
    Le numéro de compte étant numérique, il faut le caster as char...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $sql_from_where = " FROM tbl_accounts a INNER JOIN ON tbl_users u ON u.id=a.user_id WHERE CAST(a.acc_no as CHAR) LIKE ? ORDER BY a.acc_no ";
    Célira il y a 9 jours :

    https://www.developpez.net/forums/d1.../#post10170948
    Quand j'essaie de remplace la requête de la variable $sql_from_where par celle-là qu'à fait célira et que Dendrite vient de me suggérer, la seule réponse qui est retournée est celle de la phrase négative: Il Il n'y a aucun résultat trouvé pour le Numéro de compte: 123....... Même si ce Numéro recherché est bel et bien dans la Base de Données raison pour laquelle j'ai décidé de supprimer ça.

    2 -

    Citation Envoyé par jreaux62 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		<?php echo $result_table; ?>
    :

    1- et ça ne donne rien ???

    2- AJOUTE EN DEBUT de fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    error_reporting(E_ALL); 	// en TEST !!

    3- Je ne comprends pas ce que vient faire le "Inactive" à l'affichage de la table....

    Peut-on voir le code HTML généré ("Ctrl" + "U") ?
    La fonction PHP Error display error_reporting(E_ALL) est déjà active et donc cela ne rapporte rien et le résultat demeure le même. que celui d'hier qui affiche seulement la table et les 1er titre de la table sans afficher les contenus définis par les variables dans le Code.

    A propos de l'affichage du Code source (HTML) de la Page Ctrl + U, et juste après (une fois dans le code HTML), je fais Ctrl + F pour rechercher le mot Inactive qui s'affiche en dessus de la Table, je trouve 0 résultat ce qui signifie pour moi que ce fameux Inactive qui s'affiche en dessus de la Table est bel et bien la valeur de la variable $row['status'] (Ligne 69).
    Mais l'autre constat est que bien que ça soit la valeur du status du compte (Active ou Inactive), c'est Active qui devait s'afficher en dessus de la Table (sachant bien sûr qu'il ne devait pas normalement s'afficher en dessus mais en dessous de la Table et plus précisément sous la colonne Account status) car ce compte qui est recherché a bel et bien un status Active dans la Base de données.

    J'ai mal à la tête.
    Franchement, je suis totalement confus et perdu.

  17. #57
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    OK cheboy. C'est infiniment mieux quand tu nous dis ce que tu choisis de conserver ou pas, et pourquoi. "Il faut communiquer !", un peu comme dans Cauchemar en Cuisine, pour que cesse l'impression de "Cauchemar".
    Je réponds au 1, Jreaux répondra au 2 s'il est dans les parages...
    Célira avait raison sur le fond, comme presque toujours...


    Teste ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      $sql_from_where = " FROM tbl_accounts a INNER JOIN  tbl_users u ON u.id=a.user_id WHERE CAST(a.acc_no as CHAR) LIKE ? ORDER BY a.acc_no ";
    Cela devrait fonctionner comme tu veux. Juste un détail de "on" intempestif dans la proposition précédente... my bad... qu'il faut arrêter de copier coller, car c'est une bêtise redoutable pas si simple à voir.
    Je te traduis en français le from et le where SQL :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    FROM tbl_accounts a INNER JOIN  tbl_users u ON u.id=a.user_id WHERE CAST(a.acc_no as CHAR) LIKE ? ORDER BY a.acc_no

    prends la table tbl_accounts, renomme la a pour aller plus vite, raccroche la table a à la table tbl_users, renomme la u pour aller plus vite. Raccroche les deux tables par cette règle de jointure : le champ id de la table u sera identique au champ user_id de la table a, et il faut qu'il existe dans les deux tables, et qu'ils soit rigoureusement identique. OK, le filtre maintenant. Transforme le champ acc_no de la table a en chaine de caractères, parce que à la base, c'est un entier qui n'a rien à voir avec une chaîne. Et maintenant, avec cette chaine genre "12378547", regarde si un morceau de cette chaîne pourra contenir, même partiellement, le morceau de chain entré par l'utilisateur. S'il y en a plusieurs, classe-les par numéro de compte croissant !

    Ouf, elle dit tout ça avec ces quelques 20 mots, la préparation de ta requête SQL.

    J'ai mal à la tête.
    Franchement, je suis totalement confus et perdu.
    Ben, ouais, t'es juste un humain (c'est à dire aussi un animal) avec des émotions, de la fatigue, tu cries de joie quand ça marche, tu as envie de pleurer quand ça foire pour la 200ème fois... Et là où une machine s'en fout de faire 200 000 fois la même chose, ou une chose voisine, toi, tu craques et tu as besoin de pauses, tu peux te décourager. C'est un des trucs difficiles avec les débuts de l'apprentissage en programmation : on doit penser comme une machine, mais on n'est pas une machine. On te rassure, c'est juste le métier qui rentre. Petit à petit, tu accèderas beaucoup plus vite à la machine qui est en toi, l'esprit logique froid. Et dans ces moments-là, tu parviendras à laisser davantage au vestiaire ce qui fait de toi un être humain : les émotions. Programmer, c'est jouer à penser comme une machine. Ca excite l'intelligence, mais l'intelligence pure sans émotions. C'est cool ! Et ça me met... en joie. hihi, chassez les émotions d'un animal par la porte, elles rentrent par la fenêtre.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  18. #58
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Cela devrait fonctionner comme tu veux. Juste un détail de "on" intempestif dans la proposition précédente...
    1- @Dendrite
    Voilà pourquoi il faut conseiller d'INDENTER aussi les requêtes SQL.
    Ça évite (ou rend évident) ce type d'erreur "bête".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      $sql_from_where = " FROM tbl_accounts a 
       INNER JOIN  tbl_users u 
       ON u.id=a.user_id 
       WHERE CAST(a.acc_no as CHAR) LIKE ? 
       ORDER BY a.acc_no ";
    2- Par contre, je doute que le souci vienne de là, puisqu'il y avait DEJA un résultat sans :
    "1 résultat(s) trouvé(s) pour...."

  19. #59
    Invité
    Invité(e)
    Par défaut
    A propos de l'affichage du Code source (HTML) de la Page Ctrl + U,...
    @cheboy
    C'est fatigant de devoir TOUT te demander...



    MONTRE-NOUS le CODE SOURCE généré !!

    /

  20. #60
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par jreaux62 Voir le message

    2- Par contre, je doute que le souci vienne de là, puisqu'il y avait DEJA un résultat sans :
    Oui, on est d'accord Jreaux.
    Mais j'aime cette métaphore pour que Cheboy comprenne : Tu as une porte avec 15 verrous. Tu appelles des copains, qui au bout de 10 jours, t'aident à faire sauter 10 verrous ? C'est génial hein ? Tu te rapproches de ton but, "ouvrir cette #!#!#!#!# de porte !". Pourtant, s'ouvre-t-elle là maintenant ? Pas du tout ! Pourtant avez-vous progressé ? Vachement !

    Avec ça, cheboy devrait comprendre l'intérêt de nous montrer systématiquement son code.
    Et dans cet ordre :
    1- Quel SQL je veux générer pour une requête en base nickel ?
    2- Quel PHP générera ce SQL bien nickel ?
    3- Quel HTML je veux générer pour un affichage navigateur nickel ?
    4- Quel PHP générera ce HTML bien nickel ?
    5- On réassemble le tout.

    Tous les pédagos pour débutants devraient ranger dans cet ordre tous les tutos !
    Au lieu de cela, on demande à des débutants de copier coller des trucs directement dans l'item 5, et tant qu'à faire, on y ajoute javascript et ajax histoire de les étouffer totalement sous la multitude d'informations. et on espère, qu'avec le temps, ils feront le tri. Je comprends les débutants qui se barrent en courant.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/03/2018, 17h19
  2. Réponses: 8
    Dernier message: 10/03/2015, 13h25
  3. [MCD] Aidez moi à corriger mon MCD avant de generer MLR
    Par erusie dans le forum Schéma
    Réponses: 14
    Dernier message: 26/08/2010, 20h03
  4. Commande SQL pour afficher les résultats d'une lettre
    Par floctc dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/04/2009, 11h37
  5. problème pour éviter les doublons dans une table
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 19/02/2008, 04h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo