Hij haalt alleen de 1e regel uit de database.
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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"; ?>
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?
Je zet het niet binnen je while loop.
Hij doet het! Bedankt.
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)
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
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!';
}
?>
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
Oke bedankt, ik zal er even naar kijken!
En anders bel je me maar ;)
Kan er misschien iemand snel een SIMPEL zoeksysteempje scripten?
Dat mag je lekker zelf doen.
Helpen doen we graag, maar je mag het eerst zelf gaan proberen.
Dat heb ik juist al geprobeerd alleen krijg ik alleen maar error's.
Errors, welke?
Code (php)
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
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>";
}
?>
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
en
echo"<a href='zoek.php?id=". $list->id ."'>".$list->titel."</a>";
-
variables altijd buiten quotes,
dit zou mischien het probleem kunnen zijn.
Hij geeft nog steeds geen resultaten.
naar
if($_POST['submit']){
Post's worden niet automatisch een variable.
EDIT: Hij zegt nu zoekresultaten:
En dan staan er nog geen resultaten onder.
Gewijzigd op 01/01/1970 01:00:00 door Wesley PHP
if($_SERVER['REQUEST_METHOD'] == 'POST')
Zoals ´t hoort.
$list->id moet $list['id'] zijn. En buiten quotes.
Code (php)
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
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>";
}
?>
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>";
}
?>
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 -