Dynamisch menu / Array probleem!
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)
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
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";
?>
// 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";
?>
En je echoot nu inderdaad het array().
Pak daar dus het element uit wat je nodig hebt.
echo $title['en_dan_hier_de_veldnaam'];
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
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...
Code (php)
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
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";
?>
// 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