Via keuze uit dropdown zoeken in database + weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

B van der Leeden

B van der Leeden

14/07/2014 11:51:02
Quote Anchor link
Hallo allemaal,

Ik loop al een week te zoeken naar deze oplossing maar voor een beginnende php'er is het best bikkelen soms :P

Mijn probleem is als volgt:

Ik heb een dropdown menu in html gemaakt waar je een keuze in kan maken. Als je een keuze heb gemaakt en op zoeken drukt dan zou er normaliter met een search query de gegevens uit de DB gehaald kunnen worden. Dit lukt echt niet bij mij. Misschien zie ik iets over het hoofd of gebruik ik niet de juiste php code.

HTML CODE:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<table width="500" border="15" align="center" cellpadding="3" cellspacing="6" bgcolor="BLACK">
 <tr>
  <form name="form1" method="POST" action="weergave.php">
   <td>
    <table width="100%" border="0" cellpadding="10" cellspacing="5" bgcolor="#FFFFFF">
     <tr>
      <td colspan="3" style="color: black"><strong>DemoPool</strong></td>
     </tr>
     <tr>
      <td width="10" style="color: black">Selecteer uw printer</td>
      <td width="700">
        <select name="printer">
         <option value="1">Keuze 1</option>
         <option value="2">Keuze 2</option>
         <option value="3">Keuze 3</option>
                </select>
      </td>    
     </tr>
      <td><input type="submit" name="Zoeken" value="Zoeken"></td>
     </tr>     
    </table>
   </td>
  </form>
 </tr>
</table>



PHP CODE:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
include("config.php");

$product=$_POST['printer'];
  
$sth = $dbh->prepare("SELECT type,firmware,serienummer,status FROM demopool WHERE type=?");
$sth->bindParam('1', $product);
$sth->execute();

while ($row = $sth->fetch(PDO::FETCH_ASSOC))

{

  echo "<table border='1' color='black' bgcolor='white'>

<tr>
<th>Printer</th>
<th>Firmware</th>
<th>Serienummer</th>
<th>Status</th>
</tr>
<tr>
<th>"
;
 Echo    $row["type"] . "<th>" . $row["firmware"] ."<th>". $row["serienummer"] ."<th>". $row["status"] ."</tr>";
    
  
  }

  
?>


PS als ik het zonder een dropdownmenu wil doen dan werkt het wel.
- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!


Toevoeging op 14/07/2014 12:05:16:

Bedankt voor het aanpassen van de Codes, excuses hiervoor.

M.b.t. mijn vraag: Heeft het misschien te maken met hoe ik mijn dropdown menu heb opgebouwt?
Gewijzigd op 14/07/2014 11:56:13 door - Ariën -
 
PHP hulp

PHP hulp

26/12/2024 01:55:45
 
Pipo Clown

Pipo Clown

14/07/2014 12:23:58
Quote Anchor link
Je weet echt een gigantische puinhoop te maken van je HTML.
Tags welke niet afgesloten worden, niet in iedere tabelrij evenveel kolommen, een form binnen een tabel, niet gestructureerd geschreven waardoor fouten niet opvallen.

Ik heb je HTML even herschreven. Ik heb het niet getest maar volgens mij zou het zo redelijk moeten werken.
Laat je code een niveau inspringen binnen een tag, op deze manier komen <table> en </table> recht onder elkaar te staan. Maak je ergens een fou met afsluiten van een tag dan zie je dit meteen.

Ik zie het nut niet zo erg in van de geneste tabellen.

Verder, probeer inline css zo veel mogelijk te vermijden, je gebruikt nu opmaak welke zelfs binnen HTML deprecated is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
    
<form name="form1" method="POST" action="weergave.php">
    <table width="500" border="15" align="center" cellpadding="3" cellspacing="6" bgcolor="BLACK">
        <tr>
            <td>
                <table width="100%" border="0" cellpadding="10" cellspacing="5" bgcolor="#FFFFFF">
                    <tr>
                        <td colspan="3" style="color: black"><strong>DemoPool</strong></td>
                    </tr>
                    <tr>
                        <td width="10" style="color: black">Selecteer uw printer</td>
                        <td width="700">
                            <select name="printer">
                                <option value="1">Keuze 1</option>
                                <option value="2">Keuze 2</option>
                                <option value="3">Keuze 3</option>
                            </select>
                        </td>
                        <td></td>
                    </tr>
                    <tr>
                        <td><input type="submit" name="Zoeken" value="Zoeken"></td>
                        <td></td>
                        <td></td>
                    </tr>    
                </table>
            </td>
         </tr>
    </table>     
 </form>


In je PHP-code zitten ook bergen fouten met tags welke wel geopend maar niet gesloten worden. Corrigeer deze ook nog eventjes.
Ook in PHP is het mogelijk om je tags onder elkaar te plaatsen zodat je in een oogopslag ziet of geopende tags correct gesloten zijn.
Gewijzigd op 14/07/2014 12:30:00 door Pipo Clown
 
B van der Leeden

B van der Leeden

14/07/2014 12:52:16
Quote Anchor link
Thanks voor de goede tips, sorry voor de rommelige code. Heb het aangepast en krijg nog steeds een leeg scherm te zien bij het zoeken naar een type via een dropdown menu. ALs ik de drop down eruit haalt en gewoon een text field zet waar je de naam moet invoeren dan doet hij het wel.

HTML CODE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Demopool</title>
 </head>
 <body background="Plaatje.png">
  <div style="color: white">
  <br>
  <h1 align= "center">DemoPool - Printer zoeken</h1>
  <br>
  <form name="form1" method="POST" action="weergave.php">
   <table width="500" border="15" align="center" cellpadding="3" cellspacing="6" bgcolor="BLACK">
    <tr>
     <td>
      <table width="100%" border="0" cellpadding="10" cellspacing="5" bgcolor="#FFFFFF">
       <tr>
        <td colspan="3" style="color: black"><strong>DemoPool</strong></td>
       </tr>
       <tr>
        <td width="10" style="color: black">Selecteer uw printer</td>
        <td width="700">
         <select name="printer">
         <option value="ZXP serie 1">ZXP Series 1 Card Printer</option>
         <option value="ZXP serie 3">ZXP Series 3 Card Printer</option>
         <option value="ZXP serie 5">ZXP Series 5 Card Printer</option>
         <option value="ZXP serie 7">ZXP Series 7 Card Printer</option>
         <option value="ZXP serie 8">ZXP Series 8 Card Printer</option>
         </select>
        </td>
        <td></td>
       </tr>
       <tr>
        <td><input type="submit" name="Zoeken" value="Zoeken"></td>
        <td></td>
        <td></td>
       </tr>    
      </table>
     </td>
    </tr>
   </table>    
  </form>
 </body>
</html>


PHP CODE
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Demopool</title>
 </head>
 <body background="Plaatje.png">
  <div align="center">
   <div style="color: white">
    <br />
    <br />
    <br />
    <br />
    <h1>Printer overzicht</h1>
    <br />
    <br />
   </div>
<?php
// include connection file
include("config.php");

    $product=$_POST['printer'];
  
    $sth = $dbh->prepare("SELECT type,firmware,serienummer,status FROM demopool WHERE type=?");
    $sth->bindParam('1', $product);
    $sth->execute();

while ($row = $sth->fetch(PDO::FETCH_ASSOC))

{

  echo "<table border='1' color='black' bgcolor='white'>
         <tr>
          <th>Printer</th>
          <th>Firmware</th>
          <th>Serienummer</th>
          <th>Status</th>
         </tr>
         <tr>
          <th>"
. $row["type"] . "
          <th>"
. $row["firmware"] ."
          <th>"
. $row["serienummer"] ."
          <th>"
. $row["status"] ."
         </tr>"
;"
        </table>"
;
  
}
  
?>

   <div>
    <form action="Invoerscherm.php">
     <input type="submit" value="Reserveren">
    </form>
   </div>
  </div>
 </body>
</html>


Heb de codes een beetje opgeruimd, bij het selecteren van bv ZXP serie 1 (staat ook zo in me DB) krijg ik nog steeds een leeg scherm.

Toevoeging op 14/07/2014 13:34:40:

OW yes !!

heb het opgelost, het werkt in ieder geval, of het een juiste oplossing is geen idee maar.

Bij

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<td width="10" style="color: black">Selecteer uw printer</td>
        <td width="700">
         <select name="printer">  <= vervangen door => <select name="printer" id="printer">
         <option value="ZXP serie 1">ZXP Series 1 Card Printer</option>
         <option value="ZXP serie 3">ZXP Series 3 Card Printer</option>
         <option value="ZXP serie 5">ZXP Series 5 Card Printer</option>
         <option value="ZXP serie 7">ZXP Series 7 Card Printer</option>
         <option value="ZXP serie 8">ZXP Series 8 Card Printer</option>
         </select>
        </td>


:D
Gewijzigd op 14/07/2014 15:42:04 door B van der Leeden
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.