Hallo jongens,
ik heb een script dat gegevens uit een mysql database haalt na een zoekscript. Dat gaat helemaal goed..
Alle namen worden netjes onder elkaar weergegeven, maar nu wil ik graag dat als je op 1 van die namen klikt, de rest van de velden die erbij horen worden weergegeven..
Kan iemand me hiermee helpen? ik weet dat het heel simpel is voor een beetje scripter maar dat ben ik dus juist niet.
alvast bedankt,
Cindy
oja, dit is het script dat ik tot nu toe heb:
ik weet dat ik iets met get id moet doen ofzo, maar dat lukt dus juist niet :(
<?
//------------------------//
// DATABASE CONFIGURATIE //
//------------------------//
$mysql_user = "****"; // je mysql login naam
$mysql_pass = "****"; // je mysql wachtwoord
$mysql_host = "****"; // de host van je mysql database
$mysql_dbn = "****"; // de naam van je database
if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))
{
//--- De verbinding is nu dus mislukt, geef hier een melding van
echo "database connectie mislukt!";
//--- Zorg ervoor dat het script stopt.
exit();
}
else
{
$sql = "SELECT naam,plaats FROM dagjes WHERE provincie LIKE '%$HTTP_POST_VARS[group1]%' AND categorie LIKE '%$HTTP_POST_VARS[group2]%' ORDER BY naam ASC";
// Voer SQL code uit
$res = mysql_query($sql);
// Kijk of er 1 of meerdere rijen gevonden zijn
if (mysql_num_rows($res) >= 1)
{
// Toon elke rij tot dat er geen rijen meer zijn
while ($row = mysql_fetch_array($res))
{
$row['naam'] = htmlentities($row['naam']);
$row['plaats'] = nl2br(htmlentities($row['plaats']));
echo $row['naam'] . "<hr>";
echo $row['plaats'] . "<br><br>";
}
}
// Er zijn geen rijen gevonden, geef aan dat er nog geen dagjes zijn toegevoegd
else
echo "<p>Er zijn nog geen dagjes toegevoegd.</p>";
}
?>
<?
//------------------------//
// DATABASE CONFIGURATIE //
//------------------------//
$mysql_user = "000"; // je mysql login naam
$mysql_pass = "000"; // je mysql wachtwoord
$mysql_host = "000"; // de host van je mysql database (localhost is meestal wel oke)
$mysql_dbn = "000"; // de naam van je database
if (!@mysql_select_db($mysql_dbn, @mysql_connect($mysql_host, $mysql_user, $mysql_pass)))
{
//--- De verbinding is nu dus mislukt, geef hier een melding van
echo "database connectie mislukt!";
//--- Zorg ervoor dat het script stopt.
exit();
}
else
{
$sql = "SELECT id,naam,plaats,categorie,soort,toegankelijk,omschrijving FROM dagjes WHERE provincie LIKE '%$HTTP_POST_VARS[group1]%' AND categorie LIKE '%$HTTP_POST_VARS[group2]%' ORDER BY naam ASC";
// Voer SQL code uit
$res = mysql_query($sql);
// Kijk of er 1 of meerdere rijen gevonden zijn
if (mysql_num_rows($res) >= 1)
{
// Toon elke rij tot dat er geen rijen meer zijn
while ($row = mysql_fetch_array($res))
{
$row['naam'] = htmlentities($row['naam']);
$row['plaats'] = nl2br(htmlentities($row['plaats']));
echo $row['naam'] . "<hr>";
echo $row['plaats'] . "<br><br>";
if (isset($_GET['more']) AND $row[id'] ==$_GET['more']){
echo $row['categorie'] . "<hr>";
echo $row['soort'] . "<hr>";
echo $row['toegankelijk'] . "<hr>";
echo $row['omschrijving'] . "<br><br>";
}
echo ' <a href="?more="' . $row[id'] . '">meer info over dit item</a>' ;
}
}
// Er zijn geen rijen gevonden, geef aan dat er nog geen dagjes zijn toegevoegd
else
echo "<p>Er zijn nog geen dagjes toegevoegd.</p>";
}
?>
dit heb ik nu maar het werkt niet :(
wel bedankt voor je moeite ruud
de pagina laad nu wel weer goed maar als ik op "meer info over dit item klik, dan worden alle namen en plaatsen weergegeven die in de tabel staan. De overige velden worden niet weergegeven en er word ook geen item gekozen.
Einde van je code:
<?php
// Heb je hier de $row[id'] veranderd naar $row['id']?
if (isset($_GET['more']) AND $row[id'] ==$_GET['more']){
echo $row['categorie'] . "<hr>";
echo $row['soort'] . "<hr>";
echo $row['toegankelijk'] . "<hr>";
echo $row['omschrijving'] . "<br><br>";
}
// Heb je hier de $row[id'] veranderd naar $row['id']?
echo ' <a href="?more="' . $row[id'] . '">meer info over dit item</a>' ;
}
?>
Dit is alleen een controle op de info van ruud ;-)
Hmm.. je query is ook aan een onderhoudsbeurt toe:
<?php
$sql = "SELECT id, naam, plaats, categorie, soort, toegankelijk, omschrijving FROM dagjes WHERE provincie LIKE '%".$_POST['group1']."%' AND categorie LIKE '%".$_POST['group2']."%' ORDER BY naam ASC";
?>
Probeer die sql code eens op regel 22 (vervangen door die er nu al staat)
Oja... en je kan misschien beter ook je code hier editen als je iets hebt gedaan, dan kunnen wij blijven helpen :P
joepie! ik heb de link veranderd en nu geeft ie wel id mee..
het was:
echo ' <a href="?more="' . $row[id'] . '">meer info over dit item</a>' ;
en nu:
echo ' <a href="?more='.$row['id'].'">meer info over dit item</a>' ;
de dubbele haakjes na more= dus weggehaald.
Wat ie nu doet is het volgende:
hij laad alle items in de tabel (naam en plaats) en daar tussen in staat dan ergens het geselecteerde item. Maar dan wel met de overige velden dus dat is wel goed.
Gaat wel iets anders mis. Je gebruikt een formulier pagina om op te geven waarnaar je zoekt ?! Die geeft de waarden door via POST. Maar zodra je op de More link klikt heeft ie niet meer die POST waarden uit het formulier!
Oplossing ? De POST waarden onthouden in een sessie. Kun je dat?
Is zo ie zo heel leerzaam ......