WHERE element voeden met link

Status
Niet open voor verdere reacties.

gonzo31

Gebruiker
Lid geworden
11 jan 2007
Berichten
143
Hallo lezers,

Ik heb een script waarbij ik links van een bepaalde categorie wil laten weergeven. De opset moet als volgt worden.

______________________
| a d
| b e
| c f
|
|
|
|
|
|
|
--------------------------------------

(dit ziet er vast raar uit)
De letters a t/m f moeten links worden die een categorie voorstellen. Als men op deze link klikt, dan moet onder deze letters de categorienaam verschijnen en daarna in tabelvorm alle links uit deze categorie. Ik weet hoe ik links moet creeren en ik heb het onderstaande script voor de weergave. Geen idee alleen hoe ik dit moet combineren. Ik dacht zelf dat de link wellicht gevoed kon worden in het WHERE element van de selectie (WHERE cat=(link) o.i.d.)
PHP:
// Get all the data from the "links" table
$result = mysql_query("SELECT * FROM links ORDER BY name") 
or die(mysql_error());  

echo "<b>". $row['cat']. "</b>";

echo "<table border='0' cellspacing='1' cellpadding='2'>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $result )) {
	// Print out the contents of each row into a table
	echo "<tr><td>"; 
	echo "<b>". $row['name']. "</b> - ". $row['description'];
	echo "</td></tr><tr><td>"; 
	echo "<b>URL: </b>". $row['url'];
	echo "</td></tr>"; 
} 

echo "</table>";

Hoop dat iemand me kan helpen!

Arjan
 
Laatst bewerkt:
Wat is de primary key van link?
Wat staat er in het veld url? Alleen de link of ook de HTML-code?

Als ik bovenstaand script goed begrijp laat deze echt alle links zien. Ongeacht de categorie.

Klopt het ook dat je de categorie bij de link opslaat en deze niet in een andere tabel hebt staan? (Wat mij logischer lijkt)

Wat je zou kunnen doen is eerst een lijstje met categorieen creeren en daarna aan de hand van de categorie alle links daaruit weergeven.

PHP:
// Eerst kijken of er een categorie in is gesteld
if(isset($_GET['categorie'])) {
  // Query uitvoeren of deze categorie ook echt bestaat
  $catCheckQuery = "SELECT * FROM links WHERE cat='". $_GET['categorie'] ."'";
  $catCheckResult = mysql_query($catCheckQuery) or die(mysql_error());
  // Controleren of het resultaat groter dan 0 is
  if(mysql_num_rows($catCheckResult) > 0) {
    // Resultaten weergeven    
    while($linkRow = mysql_fetch_array($catCheckQuery)) {
      // HTML
    }
  // Foutmelding geven wanneer de categorie niet is gevonden
  } else {
    echo 'De categorie kan niet worden gevonden.';
  }
// Er is geen categorie ingesteld dus laten we een lijstje met categorieen zien
} else {
    // Alle unieke "cat's" opvragen
   echo '<table border="0">';
    $catQuery = "SELECT DISTINCT cat FROM links";
    $catResult = mysql_query($catQuery) or die(mysql_error());
    while($catRow = mysql_fetch_array($catResult)) {
      echo '
        <tr>
         <td><a href="?cat='. $catRow['cat'] .'">'. $catRow['cat'] .'</a></td>
        </tr>';
    }
    echo '</table>';
}
Bovenstaand script gaat er dus vanuit dat je de categorie bij de link zelf opslaat. Mocht dat niet het geval zijn wees dan zo slim om even je databasestructuur hier te plaatsen zodat wij weten met welke velden en tabellen je werkt.
 
Bedankt voor het antwoord Tha Devil. Ik heb het alleen wel anders opgelost. I.p.v. links heb ik voor een dropdown menu gekozen. Niet helemaal wat ik wilde, maar dat script was al kant en klaar, dus wel zo makkelijk.

antwoord gevonden in dit topic . De eerste reactie hierop.

Gegroet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan