3 tabellen koppelen
En jij beweert dat je de basis kunt?
heb het aangepast in AND en nu werkt hij wel :)
Incarnez schreef op 06.11.2009 11:10:
wat je gaf werkte niet,
heb het aangepast in AND en nu werkt hij wel :)
heb het aangepast in AND en nu werkt hij wel :)
oops, query :P
sorry, maar mooi dat t nu werkt,
succes verder d=(^-^)
bleef errors geven...
heb nu de AND gebruikt...
maar dan werkt de while loop niet :S
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
while($row = mysql_fetch_array($sql) AND $row1 = mysql_fetch_array($sql1) AND $row2 = mysql_fetch_array($sql2))
{
echo $row2['Voornaam'] . ' ' . $row2['Naam'] . '<br>';
echo '<br>Categorie: <b>' . $row1['Naam_cat'] . '</b><br>';
echo 'Omschrijving: <b>' . $row['Omschr'] . '</b><br><br>';
}
?>
while($row = mysql_fetch_array($sql) AND $row1 = mysql_fetch_array($sql1) AND $row2 = mysql_fetch_array($sql2))
{
echo $row2['Voornaam'] . ' ' . $row2['Naam'] . '<br>';
echo '<br>Categorie: <b>' . $row1['Naam_cat'] . '</b><br>';
echo 'Omschrijving: <b>' . $row['Omschr'] . '</b><br><br>';
}
?>
Gewijzigd op 01/01/1970 01:00:00 door koen
dit lijkt mij niet meer onder de basis te vallen...?
...
ik heb nu de code met && gebruik, en eerst met AND en niet met || want deze gaf errors...
de AND en && hebben bijna zelfde resultaat...
AND geeft alle rows aan... maar && geeft alleen de gegevens uit categorie..
deze echoén maar 1 resultaat..
terwijl er 4 instaan...
als ik met || krijg ik wel 4 vakken met 4 keer dezelfde errors...
deze sql gebruik ik nu dus:
Code (php)
1
while($row = mysql_fetch_array($sql) || $row1 = mysql_fetch_array($sql1) || $row2 = mysql_fetch_array($sql2))
deze error melding had ik eerder ook al gegeven:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
resultaten gevonden
Notice: Undefined variable: row2 in C:\Documents and Settings\Klant\Bureaublad\Desktop\UsbWebserver\Root\categorie\nieuwecategorie\Nieuwe map\test.php on line 18
Notice: Undefined variable: row2 in C:\Documents and Settings\Klant\Bureaublad\Desktop\UsbWebserver\Root\categorie\nieuwecategorie\Nieuwe map\test.php on line 18
Notice: Undefined variable: row1 in C:\Documents and Settings\Klant\Bureaublad\Desktop\UsbWebserver\Root\categorie\nieuwecategorie\Nieuwe map\test.php on line 19
Categorie:
Omschrijving:
Notice: Undefined variable: row2 in C:\Documents and Settings\Klant\Bureaublad\Desktop\UsbWebserver\Root\categorie\nieuwecategorie\Nieuwe map\test.php on line 18
Notice: Undefined variable: row2 in C:\Documents and Settings\Klant\Bureaublad\Desktop\UsbWebserver\Root\categorie\nieuwecategorie\Nieuwe map\test.php on line 18
Notice: Undefined variable: row1 in C:\Documents and Settings\Klant\Bureaublad\Desktop\UsbWebserver\Root\categorie\nieuwecategorie\Nieuwe map\test.php on line 19
Categorie:
Omschrijving:
en dit dan 4 keer...
heb je je echo's gecontroleerd? tabellen en kolomnamen zijn hoodlettergevoelig...
Gewijzigd op 01/01/1970 01:00:00 door Giel
maar dan werkt de while niet ...
teminste hij geeft maar 1 resultaat van minimaal 2...
ik zal wel even kjken wat navicat is...
bedankt voor tip!
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
<br> vervangen met <br/>
dan sluit je de html tag <br/> meteen
Dat kan inderdaad voorkomen bij deze regel
while($row = ... || $row1 = ... || $row2 = ...)
Want || is een OR dus het resultaat zou zo kunnen zijn
while(true || true || false)
Dan gaat de while wel lopen maar $row2 is niet geset.
want met AND werkt hij wel...
maar voert hij de while loop niet uit...
Maar het is sowieso een zeer vreemde constructie want wat denk je dat er gebeurt als de eerste query 1 record oplevert en de tweede 20? Bij een OR ga je foutmeldingen 'undefined' krijgen en bij AND zie je maar 1 record van allen.
dit omdat een categorie voor iedere klant aangemaakt wordt,
en de omschrijving dus ook...
in beide tabellen..
verder is er bij iedere categorie ook een klant aan gekopelt..
net probeerde ik while($row || $row1 || $row2)
maar dan flipt heel men pc hem,
hij blijft resultaten maar echoën!
maar is hier mischie dan iets op te vinden?
of van 2 tabellen 1 tabel maken ofzo?
doet die loop die je net probeerde alles herhalend echo'en? dan moet er iets in de loop dat je stopt nadat alles is geweest, zo niet, je querys specificeren zodat er minder records komen
want kom er echt niet uit...
mischien dat ik gewoon die queryies allemaal apart in while loop kan zetten ofzo?
want kom er niet uit...
http://img97.imageshack.us/img97/2828/naamloosshg.png
die telt of het aantal resultaten overeen komen...
maar dit geeft ook alleen maar errors:
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
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
<?php
include('gegevens.php');
error_reporting(E_ALL);
ini_set('display_errors', 1);
$sql = mysql_query("SELECT * FROM catregels WHERE '".mysql_real_escape_string($_REQUEST['id'])."' LIKE Catnr AND '".mysql_real_escape_string($_REQUEST['kl'])."' LIKE Klntnr ");
$sql1 = mysql_query("SELECT * FROM categorie WHERE '".mysql_real_escape_string($_REQUEST['id'])."' LIKE id");
$sql2 = mysql_query("SELECT * FROM relatie WHERE '".mysql_real_escape_string($_REQUEST['kl'])."' LIKE id");
$aantal = mysql_num_rows($sql);
$counter = 0;
echo ($aantal == 1) ? $aantal.' resultaat gevonden<br/><br/>' : $aantal.' resultaten gevonden<br/><br/>';
while ( $counter <= $aantal) {
while ( $row = mysql_fetch_array($sql) AND $row1 = mysql_fetch_array($sql1) AND $row2 = mysql_fetch_array($sql2))
{
echo $row2['Voornaam'] . ' ' . $row2['Naam'] . '<br/>';
echo '<br/>Categorie: <b>' . $row1['Naam_cat'] . '</b><br/>';
echo 'Omschrijving: <b>' . $row['Omschr'] . '</b><br/><br/>';
$counter = $counter + 1;
}
}
?>
include('gegevens.php');
error_reporting(E_ALL);
ini_set('display_errors', 1);
$sql = mysql_query("SELECT * FROM catregels WHERE '".mysql_real_escape_string($_REQUEST['id'])."' LIKE Catnr AND '".mysql_real_escape_string($_REQUEST['kl'])."' LIKE Klntnr ");
$sql1 = mysql_query("SELECT * FROM categorie WHERE '".mysql_real_escape_string($_REQUEST['id'])."' LIKE id");
$sql2 = mysql_query("SELECT * FROM relatie WHERE '".mysql_real_escape_string($_REQUEST['kl'])."' LIKE id");
$aantal = mysql_num_rows($sql);
$counter = 0;
echo ($aantal == 1) ? $aantal.' resultaat gevonden<br/><br/>' : $aantal.' resultaten gevonden<br/><br/>';
while ( $counter <= $aantal) {
while ( $row = mysql_fetch_array($sql) AND $row1 = mysql_fetch_array($sql1) AND $row2 = mysql_fetch_array($sql2))
{
echo $row2['Voornaam'] . ' ' . $row2['Naam'] . '<br/>';
echo '<br/>Categorie: <b>' . $row1['Naam_cat'] . '</b><br/>';
echo 'Omschrijving: <b>' . $row['Omschr'] . '</b><br/><br/>';
$counter = $counter + 1;
}
}
?>
--edit--
sorry voor dubbele post!
Gewijzigd op 01/01/1970 01:00:00 door Jaap V