mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 29.03.2024 13:15 Benutzername: Passwort: Auto-Login

Thema: PHP "switch-case"-Problem vom 02.09.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP "switch-case"-Problem
Seite: 1, 2, 3, 4  Weiter
Autor Nachricht
own_way
Threadersteller

Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht: Männlich
Verfasst So 02.09.2007 19:24
Titel

PHP "switch-case"-Problem

Antworten mit Zitat Zum Seitenanfang

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>&nbsp;");      
   }
   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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
chrikle

Dabei seit: 02.05.2002
Ort: NRW
Alter: 47
Geschlecht: Männlich
Verfasst So 02.09.2007 20:29
Titel

Re: PHP "switch-case"-Problem

Antworten mit Zitat Zum Seitenanfang

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>&nbsp;");      
      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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
own_way
Threadersteller

Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht: Männlich
Verfasst So 02.09.2007 20:44
Titel

Antworten mit Zitat Zum Seitenanfang

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
xjonx

Dabei seit: 26.05.2006
Ort: NRW
Alter: -
Geschlecht: Männlich
Verfasst So 02.09.2007 21:15
Titel

Antworten mit Zitat Zum Seitenanfang

sag mal: wo und wie definierst du $detail?
Probiers doch direkt mit GET
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
own_way
Threadersteller

Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht: Männlich
Verfasst So 02.09.2007 21:18
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
xjonx

Dabei seit: 26.05.2006
Ort: NRW
Alter: -
Geschlecht: Männlich
Verfasst So 02.09.2007 21:29
Titel

Antworten mit Zitat Zum Seitenanfang

Na da haben wir ja eventl. den Fehler...
Du musst natürlich die Variabel auch irgendwann mit irgendwas füllen Grins

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
own_way
Threadersteller

Dabei seit: 15.01.2004
Ort: Stuttgart
Alter: 44
Geschlecht: Männlich
Verfasst So 02.09.2007 21:39
Titel

Antworten mit Zitat Zum Seitenanfang

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>&nbsp;");      
   }
   echo"</td></tr></table>";

}

else
{
echo "<table id=maintable_content><tr><td class=text>keine Kategorie gew&auml;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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
xjonx

Dabei seit: 26.05.2006
Ort: NRW
Alter: -
Geschlecht: Männlich
Verfasst So 02.09.2007 21:41
Titel

Antworten mit Zitat Zum Seitenanfang

Ok, erstmal nen bissle rätsel, ja?
was fällt dir hier auf?
http://www.own-way.de/works.php?cat=1?detail=4
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Programmierung


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.