3 tabellen koppelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Jaron T

Jaron T

06/11/2009 11:08:00
Quote Anchor link
En jij beweert dat je de basis kunt?
 
PHP hulp

PHP hulp

08/11/2024 19:15:16
 
Jaap V

Jaap V

06/11/2009 11:10:00
Quote Anchor link
wat je gaf werkte niet,
heb het aangepast in AND en nu werkt hij wel :)
 
Koen

koen

06/11/2009 11:12:00
Quote Anchor link
Incarnez schreef op 06.11.2009 11:10:
wat je gaf werkte niet,
heb het aangepast in AND en nu werkt hij wel :)


oops, query :P
sorry, maar mooi dat t nu werkt,
succes verder d=(^-^)
 
Jaap V

Jaap V

06/11/2009 11:16:00
Quote Anchor link
die code die jij gaf werkte niet ...
bleef errors geven...

heb nu de AND gebruikt...
maar dan werkt de while loop niet :S

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>';
}

?>
 
Koen

koen

06/11/2009 11:20:00
Quote Anchor link
en met &&?? want zag in je voorbeeld dat je || gebruikte
Gewijzigd op 01/01/1970 01:00:00 door koen
 
Jaap V

Jaap V

06/11/2009 11:27:00
Quote Anchor link
@jaron,
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)
PHP script in nieuw venster Selecteer het PHP script
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)
PHP script in nieuw venster Selecteer het PHP script
1
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:

en dit dan 4 keer...
 
Koen

koen

06/11/2009 11:29:00
Quote Anchor link
heb je je echo's gecontroleerd? tabellen en kolomnamen zijn hoodlettergevoelig...
 
Giel

Giel

06/11/2009 11:35:00
Quote Anchor link
Wat je misschien kan doen is navicat uitproberen/kopen. Met dit programma kan je gemakkelijk sql's maken. Dus ook gemakkelijk 3 links leggen tussen de tabelen.. :)
Gewijzigd op 01/01/1970 01:00:00 door Giel
 
Jaap V

Jaap V

06/11/2009 11:42:00
Quote Anchor link
als ik de || vervang door AND dan echo't hij hem wel gewoon goed...
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
 
Koen

koen

06/11/2009 11:48:00
Quote Anchor link
@incarnez, nog een typ:
<br> vervangen met <br/>
dan sluit je de html tag <br/> meteen
 
- SanThe -

- SanThe -

06/11/2009 12:17:00
Quote Anchor link
Notice: Undefined variable: row2

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.
 
Jaap V

Jaap V

06/11/2009 12:35:00
Quote Anchor link
en hoe is dit dan op te lossen?

want met AND werkt hij wel...
maar voert hij de while loop niet uit...
 
Koen

koen

06/11/2009 12:40:00
Quote Anchor link
aangezien je al ergens je row,row1 en row2 maakt, met de zelfde parameters, kan je dan niet gewoon:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
while($row && $row1 && $row2)
{
}

?>

doen?
of ben ik nou zo dom?
Gewijzigd op 01/01/1970 01:00:00 door koen
 
- SanThe -

- SanThe -

06/11/2009 12:52:00
Quote Anchor link
Als je bij mijn bovenstaande uitleg de OR door AND vervang zal inderdaad de while niet gaan lopen. Dit komt doordat $row2 niet gevuld wordt.

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.
 
Jaap V

Jaap V

06/11/2009 13:06:00
Quote Anchor link
catregels heeft altijd net zo veel resultaten als categorie...

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?
 
Koen

koen

06/11/2009 14:05:00
Quote Anchor link
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
 
Jaap V

Jaap V

10/11/2009 12:36:00
Quote Anchor link
ik heb even een tekening gemaakt hoe het moet worden...
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
 
Jaap V

Jaap V

10/11/2009 15:32:00
Quote Anchor link
ik heb er nu een teller bij gezet,
die telt of het aantal resultaten overeen komen...
maar dit geeft ook alleen maar errors:
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
<?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;
}

}

?>


--edit--
sorry voor dubbele post!
Gewijzigd op 01/01/1970 01:00:00 door Jaap V
 

Pagina: « vorige 1 2



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.