Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
own_way
Threadersteller
Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst So 02.09.2007 19:24
Titel PHP "switch-case"-Problem |
|
|
Tag zusammen,
hab ein kleines Problem, was sicher darauf zurückzuführen ist, dass ich leider nicht so den Plan habe... Ich möchte auf dieser Seite meine Projekte vorstellen. Wenn ich dann in den Kategorien bin (Architektur, Webdesign etc) dann möchte ich mich einem Klick auf die jeweilige Aufgabe eine Detailseite öffnen. Wie krieg ich das hin? Ich denke, es müsste über eine "case" Bedingung gehen, oder? Ich habe das mal so vorbereitet wie ich denke, dass es gehen sollte. Aber wie kriege ich da jetzt die Infos rein, die dem jeweiligen Datensatz zugehören? Hat da jemand eine Idee? Den Code habe ich hier:
Code: | <?php
include("_inc/config.php");
include("_inc/html_head.inc");
$connect = mysql_connect("$user_hostname", "$user_username", "$user_password");
mysql_select_db("$user_database", $connect);
$sql="SELECT * FROM works_general WHERE cat LIKE '%".$_GET["cat"]."%' ORDER BY id DESC;";
$res=mysql_db_query($user_database,$sql);
$anz=mysql_num_rows($res);
{
echo "<table id=maintable_content><tr><td>";
for ($i=0;$i<$anz;$i++){
$row = mysql_fetch_array($res,MYSQL_ASSOC);
$id = $row[id];
$cat = $row[cat];
$title = $row[title];
$timestamp = $row[timestamp];
$professor = $row[professor];
$note = $row[note];
$subtitle = $row[subtitle];
$text = $row[text];
$subtext = $row[subtext];
$thumbnail = $row[thumbnail];
echo ("<a href=\"$PHP_SELF?cat=$cat?detail=$id\" class=link_images><img src=_img/thumbs/$thumbnail class=img_border></a> ");
}
echo"</td></tr></table>";
}
switch($detail) {
case "$id":
echo "<table id=maintable_content><tr><td>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exercitation ulliam corper suscipit lobortis nisl ut aliquip ex ea commodo consequat.Duis autem veleum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel willum lunombro dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.<td></tr></table>";
break;
}
mysql_close($connect);
include("_inc/html_foot.inc");
?> |
Vielen Dank für Eure Hilfe!!!
jan
Zuletzt bearbeitet von own_way am So 02.09.2007 20:09, insgesamt 1-mal bearbeitet
|
|
|
|
|
chrikle
Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht:
|
Verfasst So 02.09.2007 20:29
Titel Re: PHP "switch-case"-Problem |
|
|
Hi!
folgende Möglichkeit:
Code: | <?php
include("_inc/config.php");
include("_inc/html_head.inc");
$connect = mysql_connect("$user_hostname", "$user_username", "$user_password");
mysql_select_db("$user_database", $connect);
$sql="SELECT * FROM works_general WHERE cat = ".$_GET["cat"]." ORDER BY id DESC";
$res=mysql_db_query($user_database,$sql);
if($res == rue) //Falls überhaupt Daten gefunden worden sind.
{
echo ("<table id=maintable_content>");
while($anz=mysql_fetch_array($res))
{
$id = $anz['id'];
$cat = $anz['cat'];
$title = $anz['title'];
usw ...
//Hier folgt die Ausgabe
echo("<tr><td>");
echo ("<a href=\"$PHP_SELF?cat=$cat?detail=$id\" class=link_images><img src=_img/thumbs/$thumbnail class=img_border></a> ");
echo("... usw ...");
echo"</td></tr>";
//Hier endet die Ausgabe
}
echo("</table>");
}
mysql_close($connect);
?> |
Und wenn du dann den Link anklickst, sieht deine Abfrage dann so aus:
$sql="SELECT * FROM works_general WHERE id = ".$_GET["detail"]"
Gruß
Chris
Zuletzt bearbeitet von chrikle am So 02.09.2007 20:34, insgesamt 2-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
own_way
Threadersteller
Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst So 02.09.2007 20:44
Titel
|
|
|
Hmm, erstmal vielen Dank für die schnelle Antwort. Leider ist das aber nicht genau das was ich gerne hätte. Ich will ja über den Link works.php?cat=1&detail=2 zu den Infos über das Projekt kommen.
Die Seiten, so wie man sie jetzt sieht, soll NUR die Übersichtsseite sein - ich will über diesen Link zu einer Detailseite kommen.
Zuletzt bearbeitet von own_way am So 02.09.2007 21:23, insgesamt 1-mal bearbeitet
|
|
|
|
|
xjonx
Dabei seit: 26.05.2006
Ort: NRW
Alter: -
Geschlecht:
|
Verfasst So 02.09.2007 21:15
Titel
|
|
|
sag mal: wo und wie definierst du $detail?
Probiers doch direkt mit GET
|
|
|
|
|
own_way
Threadersteller
Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst So 02.09.2007 21:18
Titel
|
|
|
xjonx hat geschrieben: | sag mal: wo und wie definierst du $detail?
Probiers doch direkt mit GET |
weiß leider nicht genau was du meinst... Bin leider nicht so die Leuchte was PHP angeht. Ich dachte ich kann $detail einfach über das switch definieren. Dann dachte ich, mache ich eine Abfrage von welcher ID (Projekt) die Informationen abgerufen werden sollen. Wie würde das mit GET aussehen?
|
|
|
|
|
xjonx
Dabei seit: 26.05.2006
Ort: NRW
Alter: -
Geschlecht:
|
Verfasst So 02.09.2007 21:29
Titel
|
|
|
Na da haben wir ja eventl. den Fehler...
Du musst natürlich die Variabel auch irgendwann mit irgendwas füllen
Code: | // works.php?cat=1&detail=2 | also auf GET zugreifen ...
// eigentlich quatsch, weil es überflüssig, aber du hast ja so begonnen:
$detail = $_GET['detail'] ;
switch($detail) {
case "$id":
echo "<table id=maintable_content><tr><td>
".$row['text']."
<td></tr></table>";
break;
} |
Ich bin leider noch nie dahinter gekommen, warum manche Leute
das so machen, das sie die global oder eben auch die DB arrays
wieder in einzelne Vars splitten, aber ok...wenn du es so gelernt
hast...kein Ding...es gibt für diesen Schritt eine PHP Funktion ...
extract <- such mal bei php.net
Zuletzt bearbeitet von xjonx am So 02.09.2007 21:32, insgesamt 1-mal bearbeitet
|
|
|
|
|
own_way
Threadersteller
Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht:
|
Verfasst So 02.09.2007 21:39
Titel
|
|
|
also im Moment sieht die Datei works.php so aus:
Code: |
<?php
include("_inc/config.php");
include("_inc/html_head.inc");
$connect = mysql_connect("$user_hostname", "$user_username", "$user_password");
mysql_select_db("$user_database", $connect);
$sql="SELECT * FROM works_general WHERE cat = ".$_GET["cat"]." ORDER BY id DESC";
$res=mysql_db_query($user_database,$sql);
if($res == true) //Falls überhaupt Daten gefunden worden sind.
{
echo ("<table id=maintable_content><tr><td>");
while($anz=mysql_fetch_array($res))
{
$id = $anz['id'];
$cat = $anz['cat'];
$title = $anz['title'];
$timestamp = $anz['timestamp'];
$professor = $anz['professor'];
$note = $anz['note'];
$subtitle = $anz['subtitle'];
$text = $anz['text'];
$subtext = $anz['subtext'];
$thumbnail = $anz['thumbnail'];
echo ("<a href=\"$PHP_SELF?cat=$cat?detail=$id\" class=link_images><img src=_img/thumbs/$thumbnail class=img_border></a> ");
}
echo"</td></tr></table>";
}
else
{
echo "<table id=maintable_content><tr><td class=text>keine Kategorie gewählt</td></tr></table>";
}
$detail = $_GET['detail'] ;
switch($detail) {
case "$id":
echo "<table id=maintable_content><tr><td>
".$anz['title']."
<td></tr></table>";
break;
}
mysql_close($connect);
include("_inc/html_foot.inc");
?>
|
Es tut aber immer noch nicht. Ich würde gern, dass wenn ich auf ein Thumbnail klicke, dass dort eine neue Infoseite kommt, und die Übersichtsseite verschwindet. Die Infos liegen in der gleichen Tabelle der Datenbank...
--> http://www.own-way.de/works.php?cat=1
Zuletzt bearbeitet von own_way am So 02.09.2007 21:41, insgesamt 1-mal bearbeitet
|
|
|
|
|
xjonx
Dabei seit: 26.05.2006
Ort: NRW
Alter: -
Geschlecht:
|
|
|
|
|
|
|
|
Ähnliche Themen |
Switch Case?
Problem mit dem php switch
Include Switch Problem
PHP Problem mit SWITCH-Befehl
Welches DVD Case ist das?
CD Covers in Case darstellen
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|