Merci Dendrite. Grand merci à toi.
Merci Dendrite. Grand merci à toi.
Attention Cheboy, dernière modif à 17H43... J'aime bien éditer, corriger, éditer, corriger etc. etc.
Bonjour à tous et surtout à Dendrite.
J'ai testé le Code que tu m'as faire corriger. Mais malheureusement je reçois toujours des (2) erreurs dont:
1 - Fatal error: Call to undefined method stdClass::fetch() in C:\xampp\htdocs\bk\library\database.php on line 43
2 - /bk/cheg/user/index.php (qui s'affiche sur la Page) indiquant la Page sur laquelle je suis actuellement.
C'est vrai que je semble lourd à porter mais je ne saurai m'en sortir sans votre aide.
NB: Pour rappel, le Code database.php contient:
Merci de m'aider svp.
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 <?php require_once 'near.php'; require_once 'MySQL.php'; function dd($data){ echo "<pre>"; print_r($data); echo "</pre>"; } function dbQuery($sql) { $args = func_get_args(); if($args != null){ array_shift($args); /* if(is_array($args) && count($args) === 1){ $tab = $args[0]; $args = (is_array($args)) ? $tab : array($tab); }*/ } $db = new MySQL(); $result = ($args != null) ? $db->query($sql,$args) : $db->query($sql); return $result; } /* Remplacer les appels de cette fonction par dbNumRows($result) Quand tous les appels seront remplacer alors supprimer cette fonction */ function dbAffectedRows() { die('<h1 style="color:red">Remplacer dbAffectedRows() par dbNumRows($result)</h1>'); } // Je laisse le $resultType mais il ne sert à rien // Pour le retirer faut avant retirer ce $resultType de tous les appels a cette fonction function dbFetchArray($result, $resultType = null) { return $result->fetch(PDO::FETCH_NUM); } function dbFetchAssoc($result) { return $result->fetch(PDO::FETCH_ASSOC); } function dbFetchRow($result) { return $result->fetch(PDO::FETCH_BOTH); } function dbFreeResult($result) { return $result->closeCursor(); } function dbNumRows($result) { return $result->rowCount(); } function dbInsertId() { return MySQL::lastInsertId(); } // fonction ajouter pour récupérer tous les enregistrement d'un coup sous forme de tableau // $type peut avoir comme valeur "both", "num" ou "assoc" function dbFetchAll($result, $type = "both") { if($type == "num"){ return $result->fetchAll(PDO::FETCH_NUM); } else if($type == "assoc"){ return $result->fetchAll(PDO::FETCH_ASSOC); } else { return $result->fetchAll(PDO::FETCH_BOTH); } } ?>
Bonjour,
1- Il faut être plus rigoureux dans l'écriture, et l'indentation, pour une meilleure compréhension et lisibilité du code.
2- Inutile de mettre des $result .= à chaque ligne (voir mon code)
3- tu avais un while en trop, et mal placé
Les echo doivent être remplacés par $result .= (puisqu'on est ici AVANT l'affichage HTML)
4- isset(...) est inclus dans !empty(...) : inutile de mettre les deux
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 <?php include("includes/connect_db.php"); $result = ''; if( !empty($_POST['query']) ) { $query = preg_replace("#[^a-z ?0-9]#i", "", $_POST['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 .= "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>"; $req = $db->prepare($sql_search.$sql_from_where); $req->execute($params); $result .= ' <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"> <tr align="center" id="listTableHeader"> <td>User Name</td> <td>Account No.</td> <td>Balance</td> <td width="120">Account Type</td> <td width="80">Account status</td> <td width="70">Statement</td> </tr> '; $i=0; while($row = dbFetchAssoc($req)) { extract($row); $class = ($i%2)? 'row1' : 'row2'; $i += 1; $atype = ""; if($type == "CA"){ $atype = "Checking Account";} elseif($type == "SA") { $atype = "Saving Account";} elseif($type == "FDA") { $atype = "Fixed deposit Account";} $result .= ' <tr class="'.$class.'"> <td>'.$fname .' '.$lname.'</td> <td><div align="center"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$acc_id.'" >'.$acc_no.'</a></div></td> <td><div align="center">'.$balance.'</div></td> <td width="120" align="center">'.$atype.'</td> <td width="80" align="center"><a href="javascript:changeAccStatus('.$acc_id.','.$status.');" '.($status == "INACTIVE")?"Inactive":"Active".'></td> <td width="70" align="center"><a href="javascript:viewAccountStatement('.$id.','.$acc_no.');">Statement</a></td> </tr> '; } $result .= ' <tr> <td colspan="5"> </td> </tr> <tr> <td colspan="5" align="right"></td> </tr> </table> <p> </p> '; $result .= '<hr/>'; } else { $result .= "Il n'y a aucun résultat trouvé pour le Numéro de compte: <strong>$query</strong><hr/>"; } } ?>
5- extract($row); est une très mauvaise pratique !
Car tu crées alors des variables, qui pourraient rentrer en conflit avec d'autres (et les écraser...)
Puisque tu as ->fetch(PDO::FETCH_ASSOC), remplace :
- $type par $row['type']
- $lname par $row['lname']
- (et ainsi de suite)
Là, plus aucune confusion possible.
6- Enfin (?), ajoute des COMMENTAIRES/explications dans ton code :tu seras content le jour où tu devras faire des modifications...
Il y aurait encore beaucoup à dire, mais on garde ça pour la prochaine fois...
Dernière modification par Invité ; 21/04/2018 à 11h58.
Ok Merci Jreaux62.
En disant que extract($row); est une mauvaise pratique. Et qu'il faudrait le changer, comment pourrai-je donc le faire car dans ton nouveau Code, extract($row); s'y trouve encore.
Dois-je un truc 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
18
19
20
21 while($row = dbFetchAssoc($req)) { // Je viens d'effacer le extract($row); sur cette même ligne. $class = ($i%2)? 'row1' : 'row2'; $i += 1; $row['atype'] = ""; if($row['type'] == "CA"){ $row['atype'] = "Checking Account";} elseif($row['type'] == "SA") { $row['atype'] = "Saving Account";} elseif($row['type'] == "FDA") { $row['atype'] = "Fixed deposit Account";} $result .= ' <tr class="'.$class.'"> <td>'.$row['name'] .' '.$row['lname'].'</td> <td><div align="center"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$row['acc_id'].'" >'.$row['acc_no'].'</a></div></td> <td><div align="center">'.$row['balance'].'</div></td> <td width="120" align="center">'.$row['atype'].'</td> <td width="80" align="center"><a href="javascript:changeAccStatus('.$acc_id.','.$status.');" '.($status == "INACTIVE")?"Inactive":"Active".'></td> <td width="70" align="center"><a href="javascript:viewAccountStatement('.$row['id'].','.$row['acc_no'].');">Statement</a></td> </tr> '; }
Car je ne comprends pas exactement comment remplacer ou Récupérer les Variables avec $row['...'] ???
Merci de m'éclaircir.
1- $row est un array, qui contient DEJA toutes ces données.
2- Pour t'en convaincre, ajoute après le while :
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo '<pre>'; print_r($row); echo '</pre>';
3- A mon avis, c'est ta fonction dbFetchAssoc qui ne va pas ici.
REMPLACE
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part while($row = dbFetchAssoc($req))
Code : Sélectionner tout - Visualiser dans une fenêtre à part while( $row = $req->fetch(PDO::FETCH_ASSOC) )
Bonjour à tous et surtout à jreaux62.
En utilisant la dernière correction de jreaux62:
Je reçois des erreur 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
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 <?php include("includes/connect_db.php"); $result = ''; if( !empty($_POST['query']) ) { $query = preg_replace("#[^a-z ?0-9]#i", "", $_POST['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 .= "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>"; $req = $db->prepare($sql_search.$sql_from_where); $req->execute($params); $result .= ' <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"> <tr align="center" id="listTableHeader"> <td>User Name</td> <td>Account No.</td> <td>Balance</td> <td width="120">Account Type</td> <td width="80">Account status</td> <td width="70">Statement</td> </tr> '; $i=0; while($row = dbFetchAssoc($req)) { extract($row); $class = ($i%2)? 'row1' : 'row2'; $i += 1; $atype = ""; if($type == "CA"){ $atype = "Checking Account";} elseif($type == "SA") { $atype = "Saving Account";} elseif($type == "FDA") { $atype = "Fixed deposit Account";} $result .= ' <tr class="'.$class.'"> <td>'.$fname .' '.$lname.'</td> <td><div align="center"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$acc_id.'" >'.$acc_no.'</a></div></td> <td><div align="center">'.$balance.'</div></td> <td width="120" align="center">'.$atype.'</td> <td width="80" align="center"><a href="javascript:changeAccStatus('.$acc_id.','.$status.');" '.($status == "INACTIVE")?"Inactive":"Active".'></td> <td width="70" align="center"><a href="javascript:viewAccountStatement('.$id.','.$acc_no.');">Statement</a></td> </tr> '; } $result .= ' <tr> <td colspan="5"> </td> </tr> <tr> <td colspan="5" align="right"></td> </tr> </table> <p> </p> '; $result .= '<hr/>'; } else { $result .= "Il n'y a aucun résultat trouvé pour le Numéro de compte: <strong>$query</strong><hr/>"; } } ?>
Et ça n'en fini plus les erreurs. Vraiment je suis presque découragé PUISQUE les erreurs n'en finissent plus et se succèdent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Notice: Undefined variable: errorMessage in C:\xampp\htdocs\bk\cheg\include\template.php on line 74 Inactive /bk/cheg/user/index.php
Le but est d'afficher les valeurs (représentées par les variables du Code au Niveau de la Table dans le Code) recherchées sous les Titres (Username, Account No, Balance, Account type, Account status, Statement).
.
Bonjour,
Bis repetita : Si tu veux t'en sortir, il faut commencer par COMPRENDRE les messages d'erreurs, et SAVOIR où regarder !
Là, le message dit : fichier template.php à la ligne 74 -> c'est LA qu'il faut regarder !.../template.php on line 74
(Et le code que je t'ai donné fait.... 73 lignes ! )
A priori, on peut supposer que $errorMessage n'est pas défini. (?)
On peut éviter cette reeur avec :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo ( !empty($errorMessage) )? $errorMessage : '';
C'est plutôt sur la ligne 46.
Cette même erreur sur la ligne 74 est signalé quand j'avais ajouté le Code à une autre partie du Code existant ce qui fait ce décalage sur la Ligne 74.
Sinon au niveau du Code c'est sur la Ligne 46 que l'erreur est signalé:
Oui, ça fait ça quand on veut tout faire d'un coup et tout tester à la fin.Et ça n'en fini plus les erreurs. Vraiment je suis presque découragé PUISQUE les erreurs n'en finissent plus et se succèdent.
Pour ton prochain code, prends cette habitude : J'écris une ligne, je teste, une boucle je teste, une condition je teste... etc. etc.
Toujours savoir ce que tu as testé ou non. N'avancer que quand tu as toujours un pied sur la terre ferme, sinon tu te noies, car les combinaisons d'erreur à chaque ligne sont redoutables !
bon, maintenant, faut que tu termines.
Le mieux, c'est d'appliquer les 2 conseils de Jreaux, vu que tu dis que tu l'as fait... et que tu nous montres un code qui ne les a pas faits, les changements !
Relis le message de Jreaux et applique les modifs, c'est du copié-collé !
https://www.developpez.net/forums/d1.../#post10179057
Toi, tu as laissé extract et tu as laissé ta méthode maison dbFetchAssoc()
Bon.
tes copies d'écran n'apportent rien.
- Montre le message d'erreur COMPLET, avec : nom du fichier et numéro de ligne
- REGARDE dans le fichier au numéro à la ligne indiquée ! (et/ou un peu au dessus)
- Montre-nous le BOUT DE CODE concerné !
D'autre part, on n'a pas une vision GLOBALE de ton code.
C'est A TOI de nous montrer CE QUI EST UTILE ET NÉCESSAIRE.
Bonjour.
J'ai pu finalement modifier mon Code en remplaçant le $result .= en echo ' ... ' pour éliminer certaines erreurs qui s'affichaient sur la Page à l'image de l'erreur du répertoire (URL) qui s'affichait au bas de la Page.
Mais mon plus gros problème actuel est que les valeurs des variables de la Ligne 48 à la ligne 57 (précisément au niveau des <td> Ligne 50 à Ligne 55) de mon nouveau Code ci-dessus ne s'affichent pas et devraient normalement s'afficher comme valeur recherchés dans le Moteur de Recherche puisque l'idée est de rechercher un Numéro de Compte à partir du Moteur de Recherche qui doit retourner les informations Username, Account No, Balance, Account type, Account status, Statement correspondantes aux Numéro de Compte recherché si celui-ci est disponible dans la BDD sinon retourner la réponse négative.
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 <?php include("includes/connect_db.php"); $errorMessage = ' '; echo ( !empty($errorMessage) )? $errorMessage : ''; $result = ''; if( !empty($_POST['query']) ) { $query = preg_replace("#[^a-z ?0-9]#i", "", $_POST['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) { echo "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>"; $req = $db->prepare($sql_search.$sql_from_where); $req->execute($params); echo ' <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"> <tr align="center" id="listTableHeader"> <td>User Name</td> <td>Account No.</td> <td>Balance</td> <td width="120">Account Type</td> <td width="80">Account status</td> <td width="70">Statement</td> </tr> '; $i=0; while( $row = $req->fetch(PDO::FETCH_ASSOC) ) { extract($row); $class = ($i%2)? 'row1' : 'row2'; $i += 1; $atype = ""; if($type == "CA"){ $atype = "Checking Account";} elseif($type == "SA") { $atype = "Saving Account";} elseif($type == "FDA") { $atype = "Fixed deposit Account";} echo ' <tr class="'.$class.'"> <td>'.$fname .' '.$lname.'</td> <td><div align="center"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$acc_id.'" >'.$acc_no.'</a></div></td> <td><div align="center">'.$balance.'</div></td> <td width="120" align="center">'.$atype.'</td> <td width="80" align="center"><a href="javascript:changeAccStatus('.$acc_id.','.$status.');" '.($status == "INACTIVE")?"Inactive":"Active".'></td> <td width="70" align="center"><a href="javascript:viewAccountStatement('.$id.','.$acc_no.');">Statement</a></td> </tr> '; } echo ' <tr> <td colspan="5"> </td> </tr> <tr> <td colspan="5" align="right"></td> </tr> </table> <p> </p> '; echo '<hr/>'; } else { echo "Il n'y a aucun résultat trouvé pour le Numéro de compte: <strong>$query</strong><hr/>"; } } ?>
Mais mon Problème est que ces informations ne s'affichent pas et seule s'affichent les informations de la première balise <tr> (Ligne 28 - Ligne 35) qui sont comme les Titres des informations importantes (considérées comme sous-titres représentées par des variables de la Ligne 48 à la ligne 57 (précisément au niveau des <td> Ligne 50 à Ligne 55) de mon nouveau Code ci-dessus ne s'affichent pas et devraient normalement s'afficher comme valeur recherchés dans le Moteur de Recherche puisque l'idée est de rechercher un Numéro de Compte à partir du Moteur de Recherche).
Veuillez m'aider à faire afficher ces informations svp.
Bon sang, on joue aux devinettes avec toi.
Au lieu de nous dire "Mais quand j'enlève la ligne extract(), rien ne marche plus... comment faut-il nommer mes variables ?", tu rabâches, et nous remet tout ton code.
quand tu es bloqué, dis-nous ce que tu as FAIT.
Bref,
Enlève la ligne extract($row).
Et plus loin, remplace $fname par $row['fname'], puis $lname par $row['lname'] et dis-nous si ça fait apparaître tes variables.
@jreaux : j'ai enfin compris pourquoi extract() est une horrible pratique : Ca rend les choses totalement incompréhensibles pour les débutants ! Les variables apparaissent par miracle sans qu'ils puissent comprendre pourquoi ni comment...
@Dendrite
Oui, tu as tout compris.
MAIS SURTOUT :
- on ne sait pas forcément QUELLES VARIABLES seront créées ! (pour peu qu'un malpoli y injecte des saletés dans le $_POST ou autre...)
- dans le cas d'une requête, pour peu qu'on ait écrit "SELECT *...", on se retrouvera aussi avec des variables dont on n'aura pas forcément besoin...
- Autre cas simple : il suffit qu'on ait une colonne 'result' en BDD pour écraser la variable $result !
Bref : A BANNIR !
Dernière modification par Invité ; 24/04/2018 à 14h21.
Donc au finish, vous me conseillez quoi ???
1 - Dois-je modifier la Requête SQL ????
Si oui, comment ???
2 - Dois-je nommer des variables lààà encore sachant que vous m'aviez demandé d'attribuer un $row aux différentes variables ???
Je ne comprends plus rien.
Je t'ai dit quoi faire dans mon tout dernier message, il me semble. Tu ne l'as pas fait ? Je suis censée deviner ?
J'ai trouvé !Bonjour à tous et surtout à jreaux62.
Tu aimes les dalmatiens et tu n'aimes pas Fifi Brin D'acier.
Ça, je veux bien te croire...
Tu n'as fait AUCUNE des modifications qu'on t'a montrées... et expliquées.
MON CONSEIL :
Tu devrais lire quelques tutos et faire des exemples SIMPLES... (select, insert,...)
Tu as besoin de maitriser la syntaxe.
Bref : si tu ne comprends pas les BASES, tu ne comprendras pas non plus nos explications.
Dernière modification par Invité ; 24/04/2018 à 14h13.
J'ai modifier le code comme conseillé par Dendrite en enlevant la ligne extract($row) et en remplaçant les variables par $row['fname'] (Ligne 42 à la Ligne 54). Mais donne toujours la même c'est-à-dire que rien ne s'affiche comme valeur des Variable:
Où se trouve le Bug, je ne sais plus. Aidez-moi svp.
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 <?php include("includes/connect_db.php"); $errorMessage = ' '; echo ( !empty($errorMessage) )? $errorMessage : ''; $result = ''; if( !empty($_POST['query']) ) { $query = preg_replace("#[^a-z ?0-9]#i", "", $_POST['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) { echo "$count résultat(s) trouvé(s) pour <strong>$query</strong><hr/>"; $req = $db->prepare($sql_search.$sql_from_where); $req->execute($params); echo ' <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"> <tr align="center" id="listTableHeader"> <td>User Name</td> <td>Account No.</td> <td>Balance</td> <td width="120">Account Type</td> <td width="80">Account status</td> <td width="70">Statement</td> </tr> '; $i=0; while( $row = $req->fetch(PDO::FETCH_ASSOC) ) { $class = ($i%2)? 'row1' : 'row2'; $i += 1; $row['atype'] = ""; if($row['type'] == "CA"){ $atype = "Checking Account";} elseif($row['type'] == "SA") { $atype = "Saving Account";} elseif($row['type'] == "FDA") { $atype = "Fixed deposit Account";} echo ' <tr class="'.$class.'"> <td>'.$row['fname'] .' '.$row['lname'].'</td> <td><div align="center"><a href="'.WEB_ROOT.'/cheg/account/?view=detail&accId='.$row['acc_id'].'" >'.$row['acc_no'].'</a></div></td> <td><div align="center">'.$row['balance'].'</div></td> <td width="120" align="center">'.$row['atype'].'</td> <td width="80" align="center"><a href="javascript:changeAccStatus('.$row['acc_id'].','.$row['status'].');" '.($row['status'] == "INACTIVE")?"Inactive":"Active".'></td> <td width="70" align="center"><a href="javascript:viewAccountStatement('.$row['id'].','.$row['acc_no'].');">Statement</a></td> </tr> '; } echo ' <tr> <td colspan="5"> </td> </tr> <tr> <td colspan="5" align="right"></td> </tr> </table> <p> </p> '; echo '<hr/>'; } else { echo "Il n'y a aucun résultat trouvé pour le Numéro de compte: <strong>$query</strong><hr/>"; } } ?>
Quelle valeur saisis-tu dans ton formulaire (moteur de recherche) et qui renvoie de façon certaine une valeur de ta base ? Donne un exemple qui retourne minimum 2 enregistrements dans ton PHPmyadmin, pour tester.
Tu ne fais pas ce qu'on te demande ! C'est fatigant à la fin.
On ne t'a pas dit de mettre $row sur $atype !
Tu es trop perdu... Tu changes les trucs au pif. tu ne sais pas ce que tu fais ni pourquoi tu le fais.
ACTIVE tes messages d'erreur.
Bref, regarde le 1er message de ma signature.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $atype= ""; if($row['type'] == "CA"){ $atype = "Checking Account";} elseif($row['type'] == "SA") { $atype = "Saving Account";} elseif($row['type'] == "FDA") { $atype = "Fixed deposit Account";}
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager