Hij haalt alleen de 1e regel uit de database.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wesley PHP

Wesley PHP

25/11/2009 19:32:00
Quote Anchor link
Beste phphelpers,

ik heb een scriptje dat voornaam, achternaam en telefoonnummer uit database moet halen alleen haalt hij alleen de 1e regel uit de database.

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
<?php
session_start();
include('config.php');

// Gegevens uit database halen
$query = "SELECT Achternaam, Voornaam, Telefoon FROM gegevens";
$result = mysql_query($query);

if(mysql_num_rows($result) == 0) {
    echo "Er staan geen gegevens in de database.";
}
else {
        while($row = mysql_fetch_object($result))
{

    $Achternaam = $row -> Achternaam;
    $Voornaam = $row -> Voornaam;
    $Telefoon = $row -> Telefoon;
       }
}
  
?>


Naam: <?php echo "$Voornaam"; ?>
Telefoon: <?php echo "$Telefoon"; ?>



wat doe ik fout?
 
PHP hulp

PHP hulp

24/04/2024 10:54:03
 
Mr.Ark

Mr.Ark

25/11/2009 19:34:00
Quote Anchor link
Je zet het niet binnen je while loop.
 
Wesley PHP

Wesley PHP

25/11/2009 19:39:00
Quote Anchor link
Hij doet het! Bedankt.
 
Afra ca

Afra ca

25/11/2009 21:44:00
Quote Anchor link
Geen objecten gaan fetchen, maar mysql_fetch_assoc gebruiken.

EDIT: Zitten nog wat beginnerfoutjes in. Kan je waarschijnlijk niks aan doen, en ik blij dat ik je kan helpen. Je wilt het jezelf natuurlijk wel goed aanleren, dus hier is hoe je het ongeveer moet opbouwen:

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
<?php
session_start();
require_once('config.php');

$query = "SELECT achternaam, voornaam, telefoon FROM tablenaam";
if(!$result = mysql_query($query)){
    trigger_error(mysql_error());
    //niet zo'n vriendelijke melding
    //vogel zelf iets leuks in elkaar
    //query ging niet goed

}
else{
    //geweldig, query verliep goed
    while($rows = mysql_fetch_assoc($result)){
        $achternamen = $rows['achternaam'];
        $voornamen = $rows['voornaam'];
        $telefoons = $rows['telefoon'];
    }
}


if(isset($achternamen) AND isset($voornamen) AND isset($telefoons)){
    //array's bestaan, let op, het zijn array's
    //even vanuit gaande dat alle array's even vol zijn, loopen we er door 1tje heen
    // normaal door array met foreach

    for($i = 0; $i <= count($achternamen); $i++){
        echo 'Voornaam: '.$voornamen[$i].'<br />Achternaam: '.$achternamen[$i].'<br />Telefoon: '.$telefoons[$i].'<br /><br />';
    }
}

else{
    echo 'CHAOS!!!! WE HAVE NO VARS!';
}

?>


EDIT: True, m'n code sucks XD Maar daar gaat het even niet om......
Gewijzigd op 01/01/1970 01:00:00 door Afra ca
 
Wesley PHP

Wesley PHP

26/11/2009 15:13:00
Quote Anchor link
Oke bedankt, ik zal er even naar kijken!
 
John Cena

John Cena

26/11/2009 15:46:00
Quote Anchor link
En anders bel je me maar ;)
 
Wesley PHP

Wesley PHP

26/11/2009 15:54:00
Quote Anchor link
Kan er misschien iemand snel een SIMPEL zoeksysteempje scripten?
 
John Cena

John Cena

26/11/2009 16:49:00
Quote Anchor link
Nee.
Dat mag je lekker zelf doen.

Helpen doen we graag, maar je mag het eerst zelf gaan proberen.
 
Wesley PHP

Wesley PHP

26/11/2009 16:50:00
Quote Anchor link
Dat heb ik juist al geprobeerd alleen krijg ik alleen maar error's.
 
- SanThe -

- SanThe -

26/11/2009 16:53:00
Quote Anchor link
Errors, welke?
 
Wesley PHP

Wesley PHP

26/11/2009 17:06:00
Quote Anchor link
Dit is mijn code hij geeft alleen niks weer.


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
<?
echo"
<center><br><b>Zoekmachine</b><br></center>"
;

if($submit){

    
          echo "Zoekresultaten:<br>";
       $query = mysql_query("SELECT * FROM gegevens WHERE gegevens LIKE ('%$trefwoord%')")or die(mysql_error());
           if(mysql_num_rows($query) == "0"){
             echo "Er is niets gevonden wat jouw zoekwoorden bevat";
           }
else{          
             while($list = mysql_fetch_assoc($query)) {
                   echo"<a href='zoek.php?id=". $list->id ."'>$list->titel</a>";
             }      
            }

}
else{
echo"
<table border='0' cellspacing='20' style='border: #aaaaaa 1px dotted' width='40%' align='center'>
<tr>
   <td>
     <form method='post' action='$PHP_SELF'>
     Zoeken op trefwoord:<br>
     <input type='text' size='30' name='trefwoord'><br>
     <input type='submit' name='submit' value='Zoek!'>
     </form>
   </td>
</tr>
</table>
<br>"
;
}

?>
  
Gewijzigd op 01/01/1970 01:00:00 door Wesley PHP
 
Joris van Rijn

Joris van Rijn

26/11/2009 17:33:00
Quote Anchor link
$query = mysql_query("SELECT * FROM gegevens WHERE gegevens LIKE ('%". $trefwoord."%')")or die(mysql_error());

en

echo"<a href='zoek.php?id=". $list->id ."'>".$list->titel."</a>";

-
variables altijd buiten quotes,
dit zou mischien het probleem kunnen zijn.
 
Wesley PHP

Wesley PHP

26/11/2009 17:53:00
Quote Anchor link
Hij geeft nog steeds geen resultaten.
 
Stefan

Stefan

26/11/2009 17:59:00
Quote Anchor link
if($submit){

naar

if($_POST['submit']){

Post's worden niet automatisch een variable.
 
Wesley PHP

Wesley PHP

26/11/2009 18:01:00
Quote Anchor link
Oeps. Foutje, toch bedankt!

EDIT: Hij zegt nu zoekresultaten:
En dan staan er nog geen resultaten onder.
Gewijzigd op 01/01/1970 01:00:00 door Wesley PHP
 
Michael -

Michael -

26/11/2009 18:14:00
Quote Anchor link
Sowieso geen if($_POST['submit']) gebruiken maar gewoon:
if($_SERVER['REQUEST_METHOD'] == 'POST')
Zoals ´t hoort.

$list->id moet $list['id'] zijn. En buiten quotes.
 
Wesley PHP

Wesley PHP

26/11/2009 18:21:00
Quote Anchor link
Hij haalt er nog niks uit dit is mijn 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
<?php
include('config.php');
echo"
<center><br><b>Zoekmachine</b><br></center>"
;
$trefwoord = $_POST['trefwoord'];

if($_POST['submit']){

    
          echo "Zoekresultaten:<br>";
       $query = mysql_query("SELECT * FROM gegevens WHERE Achternaam AND Voornaam LIKE ('%". $trefwoord."%')")or die(mysql_error());
while($list = mysql_fetch_assoc($query)) {
           if(mysql_num_rows($query) == "0"){
             echo "Er is niets gevonden wat jouw zoekwoorden bevat";
           }
else{          
               echo '' . $list['Achternaam'] . '';
}      
            }

}
else{
echo"
<table border='0' cellspacing='20' style='border: #aaaaaa 1px dotted' width='40%' align='center'>
<tr>
   <td>
     <form method='post' action='$PHP_SELF'>
     Zoeken op trefwoord:<br>
     <input type='text' size='30' name='trefwoord'><br>
     <input type='submit' name='submit' value='Zoek!'>
     </form>
   </td>
</tr>
</table>
<br>"
;
}

?>
 
Michael -

Michael -

26/11/2009 19:51:00
Quote Anchor link
Herhaling:
Sowieso geen if($_POST['submit']) gebruiken maar gewoon:
if($_SERVER['REQUEST_METHOD'] == 'POST')
Zoals ´t hoort.

Wat is hier 't nut van?
$trefwoord = $_POST['trefwoord'];
Je kan ook gewoon die post gebruiken. Je doet er verder toch niks mee.

Waarom zo:
echo '' . $list['Achternaam'] . '';
en niet gewoon:
echo $list['Achternaam'];

Dit kan ook niet werken. Sowieso geen PHP_SELF gebruiken. En buiten quotes zetten.
action='$PHP_SELF'
Je kan bijv action='".$_SERVER['SCRIPT_NAME']."'
er neer zetten. HTML hoort eigenlijk ook dubbel quotes te hebben maar ja.

if(mysql_num_rows($query) == "0")
0 is een getal. Waarom zet je een dan quotes omheen?

Moet ik nog verder gaan? XD

Edit: Oke nog eentje dan.. Haal de haakjes weg om $trefwoord.
Niet ('%". $trefwoord."%') maar '%$trefwoord%'
Gewijzigd op 01/01/1970 01:00:00 door Michael -
 



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.