Dynamisch menu / Array probleem!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frans van Berendonk

Frans van Berendonk

16/01/2007 13:34:00
Quote Anchor link
Ik heb een dynamisch menu gemaakt in PHP/SQL.

Ik heb een database met daarin een tabel met een kolom 'id' (Primary Key) een kolom 'title' en een kolom 'text'. Met onderstaande script genereer ik een tabel met in elke cel een link. De hrefs worden aangemaakt aan de hand van de id-kolom, en linken naar select_id.php, een bestand wat de meegeleverde id ($col_value) evalueerd en de juiste 'title' en 'text' laat zien. Voor zover werkt het prima. Wat me echter niet lukt, is de links van een juiste naam ('title') te voorzien: in het tabelletje staat Array of ResourceId. Dit heeft iets te maken met de manier waarop 'title' wordt gefetched denk ik. De hrefs worden met een While loop gefetched en in deze loop wil ik dus het desbetreffende 'title' laten fetchen. Zien jullie het probleem? Ik ben nog maar een newbie met PHP/SQL, en hoewel ik al diverse dingen heb geprobeert is er vast iets wat ik over het hoofd zie.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

// include configuration file
include("includes/config.inc.php");

// Connection to SQL (with custom error messages)
$connid = @mysql_connect (localhost,$username,$password) or die("Connection to the server failed");
mysql_select_db($database) or die("database niet gevonden");

// Selects the id's from the content table
$query1="SELECT id FROM content";
$result1=mysql_query($query1) or die ("Zoekopdracht is mislukt");

// Printing results in HTML
echo "<table border =\"1\" width=300>\n";

while ($line = mysql_fetch_array($result1, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {

$query2="SELECT title FROM content";
$result2=mysql_query($query2) or die ("Zoekopdracht is mislukt");

$title = mysql_fetch_array($result2, MYSQL_ASSOC);
mysql_fetch_array($result2, MYSQL_ASSOC);

echo "\t\t<td><a href=\"select_id.php?id=$col_value\">$title</a></td>\n";
echo "\n";
}

echo "</tr>\t\n";
}

echo "</table>\n";

?>
 
PHP hulp

PHP hulp

19/11/2024 18:34:48
 
- SanThe -

- SanThe -

16/01/2007 14:22:00
Quote Anchor link
Regel 25 is dubbelop en kan weg.

En je echoot nu inderdaad het array().
Pak daar dus het element uit wat je nodig hebt.
echo $title['en_dan_hier_de_veldnaam'];
 
Wout van der Burg

Wout van der Burg

16/01/2007 14:52:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
while ($row = mysql_fetch_array($result2); { ?>

<td><a href="select_id.php?id=$col_value"><?php echo $row['title']; ?></a></td>
<?
echo "\n";
}

echo "</tr>\t\n";
}

echo "</table>\n";
?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
 
Frans van Berendonk

Frans van Berendonk

16/01/2007 15:46:00
Quote Anchor link
De techniek van Santhe werkt wel, maar ik krijg helaas in alle cellen de 'title' van het eerste 'id' te zien. De links werken wel goed. het 2e voorbeeld zal dit misschien wel oplossen maar daar kom ik niet helemaal uit...
 
Frans van Berendonk

Frans van Berendonk

18/01/2007 11:21:00
Quote Anchor link
Heb het zelf al uitgevonden! Ik moest natuurlijk het volgende nog even aangeven: SELECT title FROM content WHEN id=$col_value... en de syntax stond verkeerd! Hieronder het volledige script voor degenen die het menuutje ook eens willen proberen. Je moet dan wel in config.inc.php je username, password etc. plaatsen en de velden in je database moeten id (primary key met auto increment), title, en tekst zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

// include configuration file
include("includes/config.inc.php");

// Connection to SQL (with custom error messages)
$connid = @mysql_connect (localhost,$username,$password) or die("Connection to the server failed");
mysql_select_db($database) or die("database niet gevonden");

// Selects the id's from the content table
$query="SELECT id FROM content";
$result=mysql_query($query) or die ("Zoekopdracht is mislukt");

// Printing results in HTML
echo "<table border =\"1\">\n";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "\t<tr>\n";
foreach ($line as $col_value) {

echo "\t\t<td><a href='select_id.php?id=$col_value'>";

$query2="SELECT title FROM content WHERE id=$col_value";
$result2=mysql_query($query2) or die ("Zoekopdracht is mislukt");
$title=mysql_fetch_array($result2, MYSQL_ASSOC);
echo $title ['title'];

echo"</a></td>\n";
}

echo "</tr>\t\n";
}


echo "</table>\n";

?>
Gewijzigd op 01/01/1970 01:00:00 door Frans van Berendonk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.