login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Verschillende dingen Opvragen uit database en op pagina laten zien..

Offline ElleRt - 07/09/2004 22:02
Avatar van ElleRtMySQL interesse
Een vraagje..

Stel ik heb een database met allemaal lokaties... Vakantiehuizen,Appartementen,Hotels etc.

Nu wil ik graag de vakantiehuizen natuurlijk laten zien wanneer men kiest voor vakantiehuizen.

Per vakantiehuis komt er een kleine advertentie te staan..
Deze bevat: Een foto (links) en rechts van de foto:
- De titel
- Land lokatie
- Plaats lokatie
- Capaciteit
- een Link naar eigen website.

Deze gegevens staan dus allemaal wel in de database en natuurlijk kan ik ze gewoon oproepen met:

<?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){

Maar... hoe laat ik ze dan per lokatie zien? Het lukt me nu alleen maar om alle titels te laten zien achterelkaar en vervolgens alle landen.... maar het moet natuurlijk per lokatie...

Verder wil ik ze ook graag in willekeurige volgorde laten zien.. Elke keer weer anders zodat elke advertentie even veel kans maakt op bezoekers... Ook hier kom ik niet uit..

Ik hoop dat iemand mij wat tips kan geven!


Stel ik zet in de query van ID=1 dan lukt het natuurlijk wel om alleen ID 1 te laten zien... Maar hoe kan ik ze dus achterelkaar aan laten zien????


Dit vb als alleen ID 1 maar hoeft.. 



<table width="604"><tr><td width="21"></td>
<td width="155" height="139">

<IMG SRC="http://www.vakantielokaties.nl/Plaatjes/Foto/<?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["ID"]."\n";
}
?>.jpg" WIDTH="150">

</td>
<td width="35"></td>
<td width="373">

<B>Titel:</B> <I><A HREF="http://
<?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["subURL"]."\n";
}
?>.vakantielokaties.nl" TARGET="_blanc">
<?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["Titel"]."\n";
}
?></A></I><BR><BR>
<B>Land:</B> <I><?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["landlokatie"]."\n";
}
?></I><BR>
<B>Plaats:</B> <I><?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["plaatslokatie"]."\n";
}
?></I><BR>
<B>Capaciteit:</B> <I><?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["capaciteit"]."\n";
}
?></I><BR>
<B>Type accommodatie: </B><I><?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["categorie"]."\n";
}
?></I> <BR><BR>
<B>Eigen Website:<BR></B> <I><A HREF="<?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["URL"]."\n";
}
?>" TARGET="_blanc"><?php
$query = "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND ID='1'";
$resultaat = mysql_query($query) or die (mysql_error());
while ($rij = mysql_fetch_array($resultaat)){
echo $rij["URL"]."\n";
}
?></A></I>
</td></tr> </table>



11 antwoorden

Gesponsorde links
Offline DRUNK - 07/09/2004 22:56 (laatste wijziging 07/09/2004 22:56)
Avatar van DRUNK PHP gevorderde om elke keer een ander te laten zien:
- bekijk in je database wat het hoogste ID is, SELECT MAX(id) FROM tabel WHERE -je voorwaarden-, met de random functie van PHP (rand(int laagste getal, int hoogste getal)) kun je nu een random record selecteren uit je database, misschien heeft MySQL ook wel een random functie maar dat weet ik niet ben niet zo thuis in MySQL.

per locatie:
SELECT * FROM -tabel- WHERE locatie = -je locatie-, of met een id bijvoorbeeld, ik weet niet hoe je database is opgebouwd dus kan nu niet echt de query geven die je nodig hebt maar ik denk dat je zo wel een eindje verder komt. kijk ook eens op http://dev.mysql.com/doc/mysql/en/index.html/ daar kan je wel heel veel leren over MySQL en het juiste gebruik ervan.

succes
Offline ElleRt - 07/09/2004 23:02
Avatar van ElleRt MySQL interesse uuhm.. Maar het is de bedoeling dat ik zelf niet handmatig de vakantiehuizen hoef toe te voegen.. Dus een query die gewoon alle advertenties laat zien voor de vakantiehuizen... Dan moet ik dus niet een query maken die iets laat zien als ID bv 23 is.. want dat kan net zo goed een appartement zijn..

Maar het uit de database halen en laten zien lukt me wel.. Maar nu moet het per lokatie nog.. en niet per kolom van mijn tabel...

Offline DRUNK - 07/09/2004 23:06
Avatar van DRUNK PHP gevorderde Ja, kan toch? Hoe is je database structuur?
Heb je een tabel met locaties: locatie_id, locatie_naam
en een andere tabel met de appartementen en hotels ed.
Offline ElleRt - 07/09/2004 23:08
Avatar van ElleRt MySQL interesse Ik heb een tabel genaamd: GEGEVENS

In deze tabel staat dus o.a. een id en categorie, titel, capaciteit, plaats, land.

Maar snap nogsteeds niet wat je bedoeld? :S
Offline DRUNK - 07/09/2004 23:15
Avatar van DRUNK PHP gevorderde "SELECT * FROM GEGEVENS WHERE categorie = 'Vakantiehuizen' AND locatie = '-een locatie-' AND id = '1'";
Offline ElleRt - 07/09/2004 23:23
Avatar van ElleRt MySQL interesse ??? denk dat we wat langs elkaar heen lopen...

Ik wil hem zo maken dat ik zelf nooit meer iets aan de code hoef te veranderen.. Ik heb bv 1000 id's ( dus 1000 lokaties, want iedere lokatie is een id ). Dan wil ik van die 1000 lokaties alleen de vakantiehuizen laten zien en dus niet de hotels etc...

Maar bij jou code hierboven laat hij toch alleen lokatie id 1 zien???? en als lokatie id 3 nu ook een vakantiehuis is?? En stel iemand meld een nieuwe lokatie aan en krijgt dus id 1123.. Dan moet ik die id dus handmatig weer toevoegen aan mijn vakantiehuizen.php?


Offline DRUNK - 07/09/2004 23:40 (laatste wijziging 07/09/2004 23:43)
Avatar van DRUNK PHP gevorderde dan laat je dat laatste " AND id = '1' " toch weg dan selecteerd hij alle vakantie huizen van een bepaalde locatie. die kan je dan allemaal met:
  1. <?php
  2. while ($res = mysql_fetch_array($query)) {
  3. // blabla
  4. }
  5. ?>

mooi in een tabelletje zetten, dan kan je nog met een `paginanummering systeem', die zijn hier ook wel genoeg te vinden, alles mooi op een rijtje zetten. Of wil je maar 1 (random) vacantiehuis laten zien?

ps: die code die je hierboven gepost heb, gebruik je die ook? beetje omslachtig allemaal lijkt me...
Offline ElleRt - 08/09/2004 07:03
Avatar van ElleRt MySQL interesse ik wil ze wel allemaal laten zien ja... en van de pagina nummering is een top idee!

Allleen denk toch dat je eerts maar eens een vb moet zoen van hoe ik het eigenlijks hebben wil.. 

http://www.vakantielokaties.nl
en dan bv naar vakantiehuizen...

Dan zie je dat het niet gewoon met een tabelletje kan en met
echo $rij

toch?
Offline BladiN - 08/09/2004 07:24
Avatar van BladiN Gouden medailleGouden medaille

Grafische gevorderde
Je zult dan aan je DB nog een table moeten toevoegen met bv werelddeel en daar dan Europa in zetten en dan in je query WHERE werelddeel = 'Europa' toevoegen?
Offline DRUNK - 08/09/2004 11:04
Avatar van DRUNK PHP gevorderde ja ik zou ook eerst even een goede (relationele) database ontwerpen, dan kan het veel eenvoudigen en overzichtelijker worden om de juiste gegevens te selecteren.
Offline ElleRt - 08/09/2004 22:01
Avatar van ElleRt MySQL interesse Nou kijk...

Ik ben wel zover dat ik alles te zien krijg wat de categorie vakantiehuizen heeft, maar nu moet ik ze nog in goede groepen zetten.. Maybe met GROUP BY??? ik weet hier namelijk niets van...

Kijk de volgende link maar eens hoe het eruit ziet..
Zoals te zien laat hij eerst alle titels zien, vervolgens alle landen... etc etc... dit moet dus per lokatie...

http://www.vaka...ntiehuizen
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.19s