• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Link funktioniert nicht.

xXxPeterPanxXx

Neues Mitglied
Hi @ all,
ich habe ein Problem bei einem Link. Ich habedie einzelnden Kategorien in einer Datenbank gespeichert. Die Tabelle hat drei Spalten einmal name, einmal id und einmal name_url. Diese frage ich ab uns lass in meiner Navigation erscheinen. Nur Leider wird man nicht zur Datei kategorie.php weitergeleitet..

Der Code in der Navi:
Code:
<?php
$kategorien = mysql_query("SELECT * FROM `kategorien` WHERE `id`");
while ($kategorie = mysql_fetch_array($kategorien))
{
echo "<li><a href=\"kategorie/".$kategorie['name_url']."\">".$kategorie['name']."</a></li>";
}
?>

Danke im Vorruas

MfG xXxPeterPanxXx
 
Schwer zu sagen, ohne genaue Problembeschreibung.
Was mir auffällt:
Code:
SELECT * FROM `kategorien` WHERE `id`
"Nimm alles von `kategorien` wo `id` ....?"
Entweder sagst du ihm von welcher ID er die Daten nehmen soll, oder du lässt WHERE `id` ganz weck, dann nimmt er alles und deine whileschleife macht dann auch Sinn.

Mfg
 
Si siehts immoment aus:
Code:
"SELECT * FROM `kategorien`

Dann kommt jedoch folgende Fehlermeldung:
Parse error: parse error in C:\xampp\htdocs\projects\website2\header.php on line 34



Das Problem ist man wird einfach nicht weitergeleitet. Die Seite wird nicht gefunden.
 
Und was steht in Zeile 34?

Deine Abfrage ist so auch noch nicht vollständig, der String wird nicht geschlossen.
 
Das steht in Zeile 34:
Code:
echo "<li><a href=\"kategorie/".$kategorie['name_url']."\">".$kategorie['name']."</a></li>";

Und das ist meine komplette Abfrage:
Code:
$kategorien = mysql_query("SELECT * FROM `kategorien`);

MfG xXxPeterPanxXx
 
So habs verbessert:

Code:
$kategorien = mysql_query("SELECT * FROM `kategorien`");


Jetzt kommt nur noch, dass das Objekt nich gefunden wird.

MfG xXxPeterPanxXx
 
Es kommt genau das wen man einen Link der Navigation klickt, der aus der Datenbank abgefragt wurde:
Objekt nicht gefunden!

Der angeforderte URL konnte auf dem Server nicht gefunden werden. Sofern Sie den URL manuell eingegeben haben, überprüfen Sie bitte die Schreibweise und versuchen Sie es erneut.
Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 404

127.0.0.1
07/21/09 14:28:34
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
 
Hast du dir den Inhalt von
PHP:
$kategorie['name_url']
mal ausgeben lassen?

Stimmt die Variable? Denn dein Result speicherst du in $kategorien
 
Also um dein Problem nachvollziehen zu können, habe ich es bei mir getestet:

Datenbank:
Code:
-- 
-- Tabellenstruktur für Tabelle `kategorien`
-- 

CREATE TABLE `kategorien` (
  `id` int(11) NOT NULL auto_increment,
  `name_url` varchar(100) default NULL,
  `name` varchar(100) default NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

-- 
-- Daten für Tabelle `kategorien`
-- 

INSERT INTO `kategorien` (`id`, `name_url`, `name`) VALUES (1, 'http://www.html.de/', 'Link zu HTML.de'),
(2, 'http://google.de/', 'Link zu Google.de');
PHP Code:
PHP:
<ul>
<?
$kategorien = mysql_query("SELECT * FROM `kategorien`");
while ($kategorie = mysql_fetch_array($kategorien))
{
echo "<li><a href=\"".$kategorie['name_url']."\">".$kategorie['name']."</a></li>";
}
?>
</ul>
Und bei mir funktioniert es ohne Probleme. (Beispiellink)
Wo liegt bei dir das Problem?
Welche Daten hat deine Datenbanktabelle?
Ist der Link vielleicht ungültig?

Mfg
 
Also um dein Problem nachvollziehen zu können, habe ich es bei mir getestet:

Datenbank:
Code:
-- 
-- Tabellenstruktur für Tabelle `kategorien`
-- 

CREATE TABLE `kategorien` (
  `id` int(11) NOT NULL auto_increment,
  `name_url` varchar(100) default NULL,
  `name` varchar(100) default NULL,
  PRIMARY KEY  (`id`),
  UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

-- 
-- Daten für Tabelle `kategorien`
-- 

INSERT INTO `kategorien` (`id`, `name_url`, `name`) VALUES (1, 'http://www.html.de/', 'Link zu HTML.de'),
(2, 'http://google.de/', 'Link zu Google.de');
PHP Code:
PHP:
<ul>
<?
$kategorien = mysql_query("SELECT * FROM `kategorien`");
while ($kategorie = mysql_fetch_array($kategorien))
{
echo "<li><a href=\"".$kategorie['name_url']."\">".$kategorie['name']."</a></li>";
}
?>
</ul>
Und bei mir funktioniert es ohne Probleme. (Beispiellink)
Wo liegt bei dir das Problem?
Welche Daten hat deine Datenbanktabelle?
Ist der Link vielleicht ungültig?

Mfg
Das ist komisch:sad:. Meine Tabelle hat drei Spalten:

1. name
2.id
3. name_url

Die Verbindung zur Datenbank steht. Hmmm
 
Warum willst Du die Tabelle neu machen, Du hast doch schon eine, oder? Aber Du kannst auch das Create-Statement von DieZahl kopieren und in phpMyAdmin einfügen und dort aufrufen.

Gruß thuemmy
 
Hmm,
die Datenbank sieht jetzt so aus:
Code:
CREATE  TABLE  `kategorien` ( `id` int( 11  )  NOT  NULL  AUTO_INCREMENT ,
 `name_url` varchar( 100  )  default NULL ,
 `name` varchar( 100  )  default NULL ,
 PRIMARY  KEY (  `id`  ) ,
 UNIQUE  KEY  `id` (  `id`  ) 
) ENGINE  =  MYISAM  AUTO_INCREMENT  =3 DEFAULT CHARSET  = utf8 AUTO_INCREMENT  =3;


Ich vermute der Fehler liegt in der Navi. Der Code:

Code:
<?
$kategorien = mysql_query("SELECT * FROM `kategorien`");
while ($kategorie = mysql_fetch_array($kategorien))
{
echo "<li><a href=\"".$kategorie['name_url']."\">".$kategorie['name']."</a></li>";
}
?>

Ich glaube esliegt daran, weil man nicht zur kategorie.php weitergeleitet wird.

MfG xXxPeterPanxXx
 
Hast du denn jetzt mal dein result überprüft, ob die richtigen Daten in dem Array stehen?

PHP:
print_r($kategorie);
in der while-Schleife.
 
Ja,
habe ich jetzt gemacht. Bei HTML kommt z.B das:Array ( [0] => 1 [id] => 1 [1] => HTML [name] => HTML [2] => html [name_url] => html )
 
Ja,
habe ich jetzt gemacht. Bei HTML kommt z.B das:Array ( [0] => 1 [id] => 1 [1] => HTML [name] => HTML [2] => html [name_url] => html )

Und wenn du das jetzt mal in die Variablen einsetzt, kommt dies hier raus
HTML:
<a href="html">HTML</a>
Stimmt das so?

Sind das die Daten, die du auch in deiner Datenbank stehen hast?
 
Zurück
Oben