normalisatie
ik heb nu de volgende query:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
"SELECT
text,
titel,
datum,
provincie_id,
maker_id
FROM
advertenties
WHERE
soort = '".$zoek_id."'
ORDER BY
datum
DESC
LIMIT 0,10
";?>
"SELECT
text,
titel,
datum,
provincie_id,
maker_id
FROM
advertenties
WHERE
soort = '".$zoek_id."'
ORDER BY
datum
DESC
LIMIT 0,10
";?>
nu moet ik van provincie_id een provincienaam gaan maken (die in de tabel provinvies staan) en van maker_id een gebruikersnaam (vanzelfsprekend in de tabel gebruikers)
hoe kan ik dat doen?
Edit:
<code></code>
Gewijzigd op 01/01/1970 01:00:00 door Thomas minke
Vraagje: De datum heb je wel opgeslagen in een veld van het type DATE? Zo ja, dan is opmaak met de functie DATE_FORMAT() wellicht nog gewenst. En maak dan wel een alias aan voor de output, anders loopt de sortering in het honderd.
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
36
37
38
39
40
41
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT
a.text, a.titel, a.datum, p.naam, g.gebruikersnaam
FROM advertenties AS a, provincies AS p, gebruikers as g
WHERE soort = '".$zoek_id."'
AND a.provincie_id = p.provincie_id
AND a.maker_id = g.gebruiker_id
ORDER BY datum DESC
LIMIT 0, 10
";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"$query";
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
echo"
<td width=700>$gegevens[titel]<br><br>
$gegevens[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
}
echo"</table>";
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT
a.text, a.titel, a.datum, p.naam, g.gebruikersnaam
FROM advertenties AS a, provincies AS p, gebruikers as g
WHERE soort = '".$zoek_id."'
AND a.provincie_id = p.provincie_id
AND a.maker_id = g.gebruiker_id
ORDER BY datum DESC
LIMIT 0, 10
";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"$query";
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
echo"
<td width=700>$gegevens[titel]<br><br>
$gegevens[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
}
echo"</table>";
?>
er komt alleen geen tabel uit, wat doe ik fout?
ps:
bij een ander bestand heb ik mijn eigen script gehouden, die doet het maar ziet er niet uit
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
36
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT text, titel, datum, provincie_id, maker_id FROM advertenties WHERE soort = '".$zoek_id."' ORDER BY datum DESC LIMIT 0,10";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
$maker = $gegevens['maker_id'];
$query2 = "SELECT gebruikersnaam FROM gebruikers WHERE gebruiker_id = '".$maker."'";
$uitvoeren2 = mysql_query($query2) or die(mysql_error());
$gegevens2 = mysql_fetch_assoc($uitvoeren2);
echo"
<td width=700>$gegevens[titel]<br><br>
$gegevens2[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
}
echo"</table>";
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT text, titel, datum, provincie_id, maker_id FROM advertenties WHERE soort = '".$zoek_id."' ORDER BY datum DESC LIMIT 0,10";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
$maker = $gegevens['maker_id'];
$query2 = "SELECT gebruikersnaam FROM gebruikers WHERE gebruiker_id = '".$maker."'";
$uitvoeren2 = mysql_query($query2) or die(mysql_error());
$gegevens2 = mysql_fetch_assoc($uitvoeren2);
echo"
<td width=700>$gegevens[titel]<br><br>
$gegevens2[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
}
echo"</table>";
?>
In je eerste voorbeeld ontbreekt een beginnende <tr> tag. Je begint meteen met <td> en daardoor gaat het fout met je tabel.
Quote:
Wat komt er dan wél uit? Een gebakken ei?er komt alleen geen tabel uit, wat doe ik fout?
Duik eens in de html-broncode wanneer je problemen hebt met de output.
Tip: haal je variabelen buiten quotes en ga netjes scripten: $gegevens[titel] is fout, dit moet zijn $gegevens['titel'].
error_reporting(E_ALL); bovenaan je script doet wonderen.
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
if(isset($_GET['zoek']))
{
$zoek_id = $_GET['zoek'];
}
else
{
echo "u bnet hier niet op de juiste manier gekomen";
}
$query = "SELECT
a.text, a.titel, a.datum, p.naam, g.gebruikersnaam
FROM advertenties AS a, provincies AS p, gebruikers as g
WHERE soort = '".$zoek_id."'
AND a.provincie_id = p.provincie_id
AND a.maker_id = g.gebruiker_id
ORDER BY datum DESC
LIMIT 0, 10
";
$res = mysql_query($query) or die(mysql_error());
//echo"$query";
if(mysql_num_rows($res) <> 0)
{
?>
<table border=1>
<?php
while($gegevens = mysql_fetch_assoc($uitvoeren))
{?>
<tr>
<td width=700>
<?php echo $gegevens['titel']; ?><br><br>
<?php echo $gegevens['gebruikersnaam']; ?><br><br>
<?php echo $gegevens['text']; ?>
</td>
</tr>
<?php } ?>
</table>
<?php
}
else
{
echo "er voldoen geen gegevens aan de door u opgegeven SQL";
}
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
if(isset($_GET['zoek']))
{
$zoek_id = $_GET['zoek'];
}
else
{
echo "u bnet hier niet op de juiste manier gekomen";
}
$query = "SELECT
a.text, a.titel, a.datum, p.naam, g.gebruikersnaam
FROM advertenties AS a, provincies AS p, gebruikers as g
WHERE soort = '".$zoek_id."'
AND a.provincie_id = p.provincie_id
AND a.maker_id = g.gebruiker_id
ORDER BY datum DESC
LIMIT 0, 10
";
$res = mysql_query($query) or die(mysql_error());
//echo"$query";
if(mysql_num_rows($res) <> 0)
{
?>
<table border=1>
<?php
while($gegevens = mysql_fetch_assoc($uitvoeren))
{?>
<tr>
<td width=700>
<?php echo $gegevens['titel']; ?><br><br>
<?php echo $gegevens['gebruikersnaam']; ?><br><br>
<?php echo $gegevens['text']; ?>
</td>
</tr>
<?php } ?>
</table>
<?php
}
else
{
echo "er voldoen geen gegevens aan de door u opgegeven SQL";
}
?>
en zo?
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
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
36
37
38
39
40
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT text, titel, datum, provincie_id, maker_id FROM advertenties WHERE soort = '".$zoek_id."' ORDER BY datum DESC LIMIT 0,10";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
$maker = $gegevens['maker_id'];
$query2 = "SELECT gebruikersnaam FROM gebruikers WHERE gebruiker_id = '".$maker."'";
$uitvoeren2 = mysql_query($query2) or die(mysql_error());
$gegevens2 = mysql_fetch_assoc($uitvoeren2);
echo"
<tr><td width=700>$gegevens[titel]<br><br>
$gegevens2[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
echo"<p>test</p>
<p>test</p>
<p>test</p>";
}
echo"</table>";
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT text, titel, datum, provincie_id, maker_id FROM advertenties WHERE soort = '".$zoek_id."' ORDER BY datum DESC LIMIT 0,10";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
$maker = $gegevens['maker_id'];
$query2 = "SELECT gebruikersnaam FROM gebruikers WHERE gebruiker_id = '".$maker."'";
$uitvoeren2 = mysql_query($query2) or die(mysql_error());
$gegevens2 = mysql_fetch_assoc($uitvoeren2);
echo"
<tr><td width=700>$gegevens[titel]<br><br>
$gegevens2[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
echo"<p>test</p>
<p>test</p>
<p>test</p>";
}
echo"</table>";
?>
hier komt netjes een tabel uit met 2 advertenties en 6 keer TEST onder elkaar
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
36
37
38
39
40
41
42
43
44
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
<?php
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT
a.text, a.titel, a.datum, p.naam, g.gebruikersnaam
FROM advertenties AS a, provincies AS p, gebruikers as g
WHERE soort = '".$zoek_id."'
AND a.provincie_id = p.provincie_id
AND a.maker_id = g.gebruiker_id
ORDER BY datum DESC
LIMIT 0, 10
";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"$query";
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
echo"
<tr><td width=700>$gegevens[titel]<br><br>
$gegevens[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
echo"<p>test</p>
<p>test</p>
<p>test</p>";
}
echo"</table>";
?>
ini_set ('display_errors', 1);
error_reporting (E_ALL);
// database verbinding includen
include('dbc.php');
// de GET-waarde zoek ophalen
$zoek_id = $_GET['zoek'];
$query = "SELECT
a.text, a.titel, a.datum, p.naam, g.gebruikersnaam
FROM advertenties AS a, provincies AS p, gebruikers as g
WHERE soort = '".$zoek_id."'
AND a.provincie_id = p.provincie_id
AND a.maker_id = g.gebruiker_id
ORDER BY datum DESC
LIMIT 0, 10
";
$uitvoeren = mysql_query($query) or die(mysql_error());
echo"$query";
echo"<table border=1>";
while($gegevens = mysql_fetch_assoc($uitvoeren))
{
echo"
<tr><td width=700>$gegevens[titel]<br><br>
$gegevens[gebruikersnaam]<br><br>
$gegevens[text]</td><td></tr><tr height=25></tr>";
echo"<p>test</p>
<p>test</p>
<p>test</p>";
}
echo"</table>";
?>
het enige wat hier uit komt is de query :
SELECT a.text, a.titel, a.datum, p.naam, g.gebruikersnaam FROM advertenties AS a, provincies AS p, gebruikers as g WHERE soort = '1' AND a.provincie_id = p.provincie_id AND a.maker_id = g.gebruiker_id ORDER BY datum DESC LIMIT 0, 10
die TR heb ik toegevoegd, haalde volgens mij niet veel uit
Zie mijn post
Parse error: parse error, unexpected $end in D:\xampp\xampp\htdocs\arthur\zoekt2.php on line 47
Nu opgelost
daar kijk ik morgen wel ff naar ik ga nu...
heel erg bedankt ;)
Nu weet je iig waar je het probleem moet zoeken
waarschijnlijk komt deze melding omdat de tabel provincies nog leeg is o_O
bedankt heren hij doet het (Y)