Op basis van selectie gegevens ophalen

Status
Niet open voor verdere reacties.

thapriest

Gebruiker
Lid geworden
28 okt 2009
Berichten
559
Beste lezer,

Ik vraag me even af of het vokgende kan, en zo ja, hoe ong.

Ik wilde graag een soort van venster in mn backend, waarin ik uiterst links landen ophaal uit de tabel landen, die klikbaar maken , doorsturen in browser(dat lukt al), wanneer ik een van deze aanklik de resultaten uit de tabel x worden gehaald met daarin dus de resultaten gefilterd op dat land ernaast weergegeven, deze links klikbaar ook klikbaar maak, waardoor als ik daar weer op klik, ik dan rechts een venster krijg om het item te bewerken?
 
Dat is mogelijk. Klinkt als een stukje AJAX, als je dat wil doen zonder continu de pagina te verversen.

Als je het met verversen doet is het zelfs nog makkelijker.

Waar loop je op vast?
 
Nou, ik loop eigenlijk al vast bij het sorteren, ik weet niet zo goed hoe ik dit het beste kan doen..

Situatie schets:

uiterst links :

land 1
land 2
land3 etc

daarnaast in een kolom zou moeten verschijnen wanner je klikt op land3 bijv.
alles wat land3 bevat in een andere tabel.

Vervolgens als je klikt op een resultaat uit vorige rij, dan een bewerk pagina voor dat record.

Waar ik even niet uit kom is, hoe te beginnen?kan dit overigens niet geheel in PHP/SQL?
 
Kan wel, maar dan zal de pagina vernieuwen bij elke link klik. Hoeft geen bezwaar te zijn natuurlijk :)


Wat ik zou doen is beginnen met een page layout met drie DIVs langs elkaar. Vervolgens moet je een pagina opbouwen die gebruik maakt van GET variabelen. Je zult er 2 nodig hebben: eentje voor het geselecteerde land, eentje voor de stad/persoon/wat ook in de tweede kolom staat.

Bij het opbouwen van de pagina haal je eerst de informatie van alle landen op. Vervolgens bouw je links, waarbij elke link dat land ingevuld heeft in de GET. Bijvoorbeeld "http://mijnsite.nl/project/wijzig.php?land=LAND_CODE".

Daarna kijk je of land gezet is in de $_GET. Zo ja, dan bouw je een query met die variabele, en haal je de betreffende informatie van dat land op. Vervolgens bouw je met die informatie een lijst met nieuwe informatie op, waarbij je de GET uitbreidt met de land code van het geselecteerde land, en de code voor dat geselecteerde object:
"http://mijnsite.nl/project.php/wijzig.php?land=LAND_CODE&unit=UNIT_CODE".

Nadat je die lijst ook getoond heb, kijk je of unit in de GET gezet is. Zo ja, dan maak je een query met zowel de land als de unit code, en haal je de rij op die de gebruiker wilt wijzigen. Daar kun je dan gewoon een form van bouwen, en als het goed is weet je hoe je die moet gebruiken om een rij te wijzigen :)
 
Geen bezwaar, gaat me om het filter principe, is overigens ook voor een backend, dus ik kijk er tegen aan:P

In je eerste regels raak ik je al een beetje kwijt,:o
Met GET heb ik niet veel gedaan, en moet eerlijk bekennen dat ik het principe dus ook niet goed snap...

Wat ik zou moeten doen, is dus drie div's maken, elk met de verschillende content, dat gaat wel lukken, echter moet ik dan een soort switch constructie maken, of hoe zie ik het voor me... heb je misschien een heel klein voorbeeldje?
 
Voorbeeldje, sure.


PHP:
$query = "SELECT * FROM tabel";
$result = mysql_query( $query );

while ( $rij = mysql_fetch_assoc( $result ) ) {
  echo '<a href="pagina.php?type1=' . $rij['code'] . '">'.$rij['naam'] . '</a><br />';
}
echo '<br /><br />';
if ( isset( $_GET['type1'] ) ) {
  // er is geklikt op een basis type, zoek bijbehorend.
  $query = "SELECT * FROM tabel2 WHERE code = " . $_GET['type1'];  
  $result = mysql_query( $query );

  while ( $rij = mysql_fetch_assoc( $result ) ) {
    echo '<a href="pagina.php?type1=' . $_GET['type1'] . '&type2=' . $rij['bij_code']   .'">'.$rij['naam'] . '</a><br />';
  }
  echo '<br /><br />';
  if ( isset( $_GET['type2'] ) {
    // er is ook een bijbehorend type, zoek het op.
    $query = "SELECT * FROM tabel2 WHERE code = " . $_GET['type1'] . " AND bij_code = " . $_GET['type2'];
    $rij = mysql_fetch_assoc( mysql_query( $query ) );
    // hier komt dan je form, en de manieren om het te wijzigen. Makkelijkste is om te verwijzen naar een andere pagina hiervoor.
  }
}

Dit zou ongeveer moeten werken als je de juiste tabellen aanmaakt ;) Het is verder wel erg foutgevoelig, zitten geen controles oid in, maar dit is een beetje hoe het moet werken.
 
Dank u, zeer helder voorbeeld.
Op wat onvolkomenheden na, heb ik hem tot in de basis werkend.:-)

Werkend op deze manier (wellicht heeft iemand hier nog wat aan):
PHP:
<?php
$query = "SELECT * FROM tabely";
$result = mysql_query( $query ) or die (mysql_error());
 
while ( $rij = mysql_fetch_assoc( $result ) ) {
  echo '<a href="index.php?a=112&id=2&type1=' . $rij['waarde'] . '">'.$rij['waarde'] . '</a><br />';
}
echo '<br /><br />';
if ( isset( $_GET['type1'] ) ) {
  // er is geklikt op een basis type, zoek bijbehorend.
  $query = "SELECT * FROM tabelx WHERE waarde = '" .$_GET['type1']."' ";
  $result = mysql_query( $query ) or die (mysql_error());
 
  while ( $rij = mysql_fetch_assoc( $result ) ) {
    echo '<a href="index.php?a=112&id=2&type1=' . $_GET['type1'] . '&type2=' . $rij['naam']   .'">'.$rij['naam'] . '</a><br />';
  }
  echo '<br /><br />';
  if ( isset( $_GET['type2'] ) )
    // er is ook een bijbehorend type, zoek het op.
	{
    $query = "SELECT * FROM tabelx WHERE waarde = '" .$_GET['type1']. "' AND naam = '" . $_GET['type2']."' ";
	$result = mysql_query( $query ) or die (mysql_error());
     while ( $rij = mysql_fetch_assoc( $result ) );{
	echo "hij werkt!";}
    // hier komt dan form, en de manieren om het te wijzigen. Makkelijkste is om te verwijzen naar een andere pagina hiervoor.
  }
}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan