Hoi,

Ik heb een script gekregen van de basketbal bond om gegevens uit hun database op mijn website te tonen.
Nu heb ik zelf ook een database gemaakt (met zelfde uniek nummer). Op basis hiervan wil ik de 2 tabellen met elkaar koppelen.

script van de basketbal bond:

print "<TD>" . $details['nummer'] ."</TD>";


nu wil ik zelf ook extra <td></td> weergeven; maar dan met wie de zaalwacht is.

dus in feite: ALS . $details['nummer'] . = 200Q dan (zoeken in mijn db naar nr 200Q; en dan resultaat uit kolomK weergeven)
In kolomK staat dan de naam van de zaalwacht.


Kan iemand mij hiermee op weg helpen?
Henrik Maartens op 24/09/2015 17:03:04

Ik heb een script gekregen van de basketbal bond om gegevens uit hun database op mijn website te tonen.

Wat bedoel je met "script"? heb je directe toegang tot de database of werken hun met een API?

Henrik Maartens op 24/09/2015 17:03:04
(met zelfde uniek nummer).

Uuhhhmmmm, geen flauw benul wat je hiermee bedoeld.

Henrik Maartens op 24/09/2015 17:03:04
Op basis hiervan wil ik de 2 tabellen met elkaar koppelen.

Welke twee tabellen? 1 tabel van de database van de basketbal bond en die van jouw?

Henrik Maartens op 24/09/2015 17:03:04

nu wil ik zelf ook extra <td></td> weergeven; maar dan met wie de zaalwacht is.
dus in feite: ALS . $details['nummer'] . = 200Q dan (zoeken in mijn db naar nr 200Q; en dan resultaat uit kolomK weergeven)
In kolomK staat dan de naam van de zaalwacht.

Als je iets wilt zoeken in je database moet dat minstens uit een tabel waarvan we niet eens een naam hebben


Henrik Maartens op 24/09/2015 17:03:04

Kan iemand mij hiermee op weg helpen?

Met de informatie die je geeft kunnen wij helemaal niets. We moeten weten hoe de database structuur in elkaar zit, wat voor toegang je hebt om de database server van de bond, we weten niet eens of je PDO, mysql of mysqli gebruikt voor je databasebase en we krijgen niet eens een sample code van wat je tot nu toe hebt.
Johan,

ik ga proberen wat duidelijker te zijn :)

Ik heb een php script gekregen; met dit php script kun je bepaalde gegevens uit de bond zijn database halen
Begin van dat php script moet je verenigingsnummer invoeren + om welk team het gaat. Middels onderstaande regels haal je dan gegevens uit de database van de bond:


print "<TD>" . $details['nummer'] ."</TD>";
print "<TD>" . $details['datum'] ."</TD>";
print "<TD>" . $details['tijd'] ."</TD>";
print "<TD>" . $details['team'] ."</TD>";

mogelijke output hiervan is:

200Q - 15-09-2015 - 12:00 - Heren Senioren

(hierbij is 200Q een uniek nummer -> deze komt 1x voor; de volgende rij zal 201Q zijn)


Nu wil ik hier naast bovenstaande gegevens (nr / datum / tijd/ team) ook nog een kolom met zaalwacht plaatsen.

In mijn eigen tabel in phpmyadmin (genaamd: wedstrijden) heb ik bijv. het volgende staan

200Q - Pietje
201Q - Klaas
202Q - Henk

nu wil ik dat Pietje wordt gekoppeld aan het voorbeeldje hiervoor; dus:

200Q - 15-09-2015 - 12:00 - Heren Senioren - Pietje

je zal dan het volgende krijgen:

print "<TD>" . $details['nummer'] ."</TD>";
print "<TD>" . $details['datum'] ."</TD>";
print "<TD>" . $details['tijd'] ."</TD>";
print "<TD>" . $details['team'] ."</TD>";
print "<TD>" . $details['zaalwacht'] ."</TD>";

maar: [zaalwacht] is niet bekend bij het script van de bond;

dus zou ik willen dat hij dat uit mijn eigen database haalt.
dit zou dus prima kunnen door te kijken naar het unieke [nummer].

[zoek in tabel 'wedstrijden' naar [nummer] dan resultaat uit kolom [zaalwachter] tonen.





Dan kom je uit op een simpele query zoals:


SELECT nummer, datum, tijd, team, zaalwacht FROM wedstrijden WHERE nummer = '200Q'

Het gaat dus om één tabel?
datum, tijd en team hoeft dan niet geselecteerd te worden; die staan niet in mijn eigen database.



ik heb nu dit:

<?php
include"db.php";
$nummer = . $details['nummer'] .
$sql = "
SELECT
nummer, zaalwacht
FROM
wedstrijden
WHERE nummer = '$nummer'

";

if(!$res = mysql_query($sql))
{
trigger_error(mysql_error().'<br />In query: '.$sql);
}
elseif(mysql_num_rows($res) == 0)
{
echo 'Geen resultaten gevonden';
}
else
{
while($row = mysql_fetch_assoc($res))
{
echo $row['zaalwacht'].'<br />';
}
}
?>

maar nu wil ik juist dat het 'antwoord' ook in zo'n print terecht komt.
Maar onderstaande werkt (logisch) niet. wat moet ik hier van maken om toch de zaalwachter er achter te plaatsen?
print "<TD>" . $details['zaalwacht'] ."</TD>";
Waar komt $details['nummer'] vandaan (en die puntjes horen er niet).

Ik zou het voor het gemak zo doen:

<?php
include "db.php";
$nummer = $details['nummer']; // waar komt dit vandaan???
$sql = "
SELECT
nummer, zaalwacht
FROM
wedstrijden
WHERE nummer = '".$nummer."'
";

if(!$res = mysql_query($sql)) {
trigger_error(mysql_error().'<br />In query: '.$sql);
} else {
if(mysql_num_rows($res) == 0) {
echo 'Geen resultaten gevonden';
} else {
// verwacht je meerdere resultaten, zo niet... dan is while overbodig
while($row = mysql_fetch_assoc($res)) {
echo $row['zaalwacht'].'<br />';
}
}
}
?>

Let er wel op dat de MySQL-functies over enkele jaren definitief verleden tijd zijn. De vervanger hiervoor is dan MySQLi of PDO.
details[nummer] komt uit het script van de bond. (zie bovenstaande posts van mij)

maar dit gaat toch nooit werken?
<?php

$plg_ID = 1000;
$cmp_ID = 2843;
$org_ID = 3; // van NBB
$wedstrijd = new Wedstrijd( $org_ID, $cmp_ID );
$wedstrijd->teamid( $plg_ID );
$wedstrijd->seizoen('2015-2016');

list($nr, $naam) = $wedstrijd->competitie();
print "<Table>";

$overzicht = $wedstrijd->overzicht();
$wedstrijd_lijst = $wedstrijd->wedstrijden($cmp_ID);

foreach ($wedstrijd_lijst as $id => $details ) {

print "<TR>";
print "<TD>" . $details['nummer'] ."</TD>";
print "<TD>" . $details['datum'] ."</TD>";
print "<TD>" . $details['tijd'] ."</TD>";
print "<TD>"

include "db.php";
$nummer = $details['nummer']; // waar komt dit vandaan??? --> staat hier boven!
$sql = "
SELECT
nummer, zaalwacht
FROM
wedstrijden
WHERE nummer = '".$nummer."'
";

if(!$res = mysql_query($sql)) {
trigger_error(mysql_error().'<br />In query: '.$sql);
} else {
if(mysql_num_rows($res) == 0) {
echo 'Geen resultaten gevonden';
} else {
// verwacht je meerdere resultaten, zo niet... dan is while overbodig
while($row = mysql_fetch_assoc($res)) {
echo $row['zaalwacht'].'<br />';
}
}
}

"</TD>";
print "</TR>\n";
?>
Nee, want $details bestaat niet. Want waar komt deze vandaan?
uit script van de bond...
die gegevens haalt hij goed op!
heb voor het gemak maar even het hele stukje er op gezet.
Laat anders eens een duidelijk zien hoe je tabellen er uit zien, in een schema of uit een SQL-dump. Want als er een relatie tussen beiden is, dan kan je prima met een JOIN uit te voeten.
-------- ----------
nummer | zaalwacht
200q | Piet
201q | Henk
202q | Klaas
203q | Willem

dit heb ik in mijn eigen database. nummer komt overeen met database van de bond (op te halen met . $details['nummer'] .)

Reageren