| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

04-11-2001, 04:42
|
|
Nubi
Newbie
|
|
Registriert seit: Nov 2001
Beiträge: 5
|
|
Hi!
Ich habe folgendes Problem:
Ich will auf meiner Hp eine Link_Seite erstellen. Dazu habe ich folgendes array erstellt:
++++++++++++++++++++++++++
$ar_lk = array(
"news" => array(
"prop" => array(
"name" => "News",
"url" => "#",
"desc" => "",
),
"cnn" => array(
"name" => "CNN",
"url" => "www.cnn.com",
"desc" => "",
),
"faz" => array(
"name" => "FAZ",
"url" => "www.faz.net",
"desc" => "",
),
),
"computer" => array(
"prop" => array(
"name" => "Computer-Links",
"url" => "#",
"desc" => "",
),
"zdnet.de" => array(
"name" => "ZD-Net Deutschland",
"url" => "www.zd-net.de",
"desc" => "",
),
"zdnet.com" => array(
"name" => "ZD-Net USA",
"url" => "www.zd-net.com",
"desc" => "",
),
"chip" => array(
"name" => "Chip.de",
"url" => "www.chip.de",
"desc" => "",
),
),
"Shopping" => array(
"prop" => array(
"name" => "Shopping-Seiten",
"url" => "#",
"desc" => "",
),
"amazon.de" => array(
"name" => "Amazon.de",
"url" => "www.amazon.de",
"desc" => "",
),
"amazon.com" => array(
"name" => "Amazon.com",
"url" => "www.amazon.com",
"desc" => "",
),
)
);
++++++++++++++++++++++++
Das klappt ja auch soweit. nun kommt die abfrage:
++++++++++++++++++++++++
$anz_ges = count($ar_lk);
$i=0;
while ($i>$anz_ges) {
echo ("<table><tr><td>$ar_lk[$i][prop][name]</td></tr></table>");
$anz_lk = count($ar_lk[$i][0][0]);
$j=0;
while ($j>$anz_lk) {
echo ("<table><tr><td><a href=$ar_lk[$i][$j][url] target=_self> $ar_lk[$i][$j][name] </a></td><td> $ar_lk[$i][$j][desc] </td></tr></table>");
$j++;
}
$i++;
};
++++++++++++++++++++++++
das ganze funktioniert aber leider kein bisschen...
Kann mir da vielleicht jemand weiterhelfen oder vielleicht sogar ne bessere loesung fuer meine Link-Seite geben?
Danke schon mal!
*tim*
|

04-11-2001, 13:33
|
|
Sky
PHP Senior
|
|
Registriert seit: Jul 2001
Beiträge: 1.796
|
|
Zitat:
Original geschrieben von Nubi
das ganze funktioniert aber leider kein bisschen...
|
Inwiefern?
|

05-11-2001, 05:09
|
|
Nubi
Newbie
|
|
Registriert seit: Nov 2001
Beiträge: 5
|
|
kein bisschen eben... ;-)
kein bisschen soll heissen, dass keine einzige tabelle geschrieben wird. es gibt aber auch keine fehlermeldung. im quelltext hinterher (von der fertig aufgebauten website kopiert) ist dann nur ne luecke, wo eigentlich die link-tabellen sein sollten... :-(
|

05-11-2001, 12:06
|
|
smeagol
Newbie
|
|
Registriert seit: May 2001
Beiträge: 141
|
|
Zitat:
$anz_ges = count($ar_lk);
$i=0;
while ($i>$anz_ges) {
|
Man möge mich korrigieren falls ich falsch liege, aber initialisierst du deine Schleife nicht richtig? Ich meine, $ar_lk hat bestimmt eine Länge die größer als 0 ist (z.B. 3).
Dann vergleichst du aber im while($i > $anz_ges) - was soviel heißt wie 0 > 3. Das kann ja dann nicht starten, dreh den Vergleichs-Operator mal probeweise auf < um.
|

05-11-2001, 12:56
|
|
WhiteMountain
Newbie
|
|
Registriert seit: Apr 2001
Beiträge: 134
|
|
Mehreres:
1.) wie smeagol bereits bemerkte muss es natürlich
while($i<$array) heissen - in beiden schleifen
2.) du vergibst strings als indizes versuchst dann aber
numerische indizes zu verwenden
z.b.: $ar_lk[$i][prop][name] --> kann natürlich nicht
funktionieren.
3.) wenn du auf strings als indizes verweist musst du diese
auch als string kenntlichmachen, also nicht:
$ar_lk[$i][prop][name] sondern $ar_lk[$i]["prop"]["name"]
-->sonst sind das nominell konstanten, php geht zwar
korrekterweise von strings aus, wenn keine
konstanten definiert sind, gibt aber unter umständen
eine fehlermeldung mit aus.
4.) würd ich an deiner stelle den source etwas
übersichtlicher formatieren - dann ist das ganze auch
nicht so fehleranfällig ;-)
5.) und letztens siehts korrigiert und funktionierend dann
so aus:
Code:
<?
$ar_lk =
array(
array(
array("name" => "News","url" => "#","desc" => "",),
array( "name" => "CNN", "url" => "www.cnn.com", "desc" => "",),
array("name" => "FAZ","url" => "www.faz.net","desc" => "",)
),
array(
array("name" => "Computer-Links","url" => "#","desc" => "",),
array("name" => "ZD-Net Deutschland","url" => "www.zd-net.de","desc" => "",),
array("name" => "ZD-Net USA","url" => "www.zd-net.com","desc" => "",),
array("name" => "Chip.de","url" => "www.chip.de","desc" => "",)
),
array(
array("name" => "Shopping-Seiten","url" => "#","desc" => "",),
array("name" => "Amazon.de","url" => "www.amazon.de","desc" => "",),
array("name" => "Amazon.com","url" => "www.amazon.com","desc" => "",)
)
);
$anz_ges = count($ar_lk);
$i=0;
while ($i<$anz_ges)
{
echo "<table><tr><td>".$ar_lk[$i][0]["name"]."</td></tr></table>";
$anz_lk = count($ar_lk[$i]);
$j=1; // 1 deshalb weil dir sonst die erste zeile mit den gruppenüberschriften nochmals ausgegeben wird
while ($j<$anz_lk)
{
echo "<table><tr><td><a href=".$ar_lk[$i][$j]["url"]." target=_self> ".$ar_lk[$i][$j]["name"]."</a></td><td> ".$ar_lk[$i][$j]["desc"]." </td></tr></table>";
$j++;
}
$i++;
}
?>
|

06-11-2001, 05:23
|
|
Nubi
Newbie
|
|
Registriert seit: Nov 2001
Beiträge: 5
|
|
Super! endlich lauft's!
D A N K E an alle !!!
aber ich habe jetzt schon wieder ein neues problem:
meine link-liste sieht jetzt so aus:
News
CNN
FAZ
Computer-Links
ZD-Net Deutschland
ZD-Net USA
Chip.de
Shopping-Seiten
Amazon.de
Amazon.com
Wie kann ich es denn hinbekommen, dass er die links in eine reihe schreibt und nach je 3 links in eine neue zeile geht?
ich bekomme das naemlich 'nicht so wirklich' hin. nach zwei links wuerde das ja sicherlich mit dem gerade-ungerade prinzip funktionieren, aber bei dreien in einer zeile?
thnx a lot...
*tim*
|

06-11-2001, 13:00
|
|
WhiteMountain
Newbie
|
|
Registriert seit: Apr 2001
Beiträge: 134
|
|
ob die division durch eine zahl einen rest ergibt kannst du mit % abfragen.
geht die division glatt auf, kommt "0" als ergebnis zurück,
wenn nicht kommt "1".
Bsp:
$a=15%3;
echo $a;
Ausgabe: 0
$b=16%3;
echo $b;
Ausgabe: 1
aber sowas findet man ganz leicht im php-manual unter dem stichwort "mathematische funktionen"
grüsse,
sonja
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|