WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP Frage (http://www.wcm.at/forum/showthread.php?t=198161)

ZerOHacke 28.08.2006 10:28

PHP Frage
 
Hi Leute,

1 Tabelle (ID, Hersteller, Bild [=ist z.b. 00181.jpg])

Ich möchte alle Hersteller mir anzeigen lassen (jeden nur 1x), bei klick sollen alle Bilderdaten aus der Tabelle gelesen werden.

Der Endeffekt:
Der Benutzer soll auf den Hersteller klicken, der Hersteller soll im Endeffekt ein Link auf ein Image sein (Img aus der DB) - danach weiterblättern mit Lightbox (restl. bilder müssen natürlich auch aus der DB geholt werden, werden vorm Benutzer aber mit css display:none versteckt).

Versteht ihr was ich meine?

Bisheriger Code:
$conn_id = mysql_connect($host,$ident,$pw);
mysql_select_db($database,$conn_id);

$result = mysql_query('Select * FROM artikel group by hersteller') OR die(mysql_error());
$resultfull = mysql_query('Select * FROM artikel') OR die(mysql_error());

while($row = mysql_fetch_assoc($result)) {
echo "<a href=\"test2.php?hersteller=".$row['Hersteller']."\">".$row['Hersteller']."
";

}

Ne Idee wie es weitergehen könnte?

m@rio 28.08.2006 10:35

Und wo genau liegt jetzt dein Problem?

ZerOHacke 28.08.2006 10:42

Der Code von oben verlinkt auf ein zweites File. Dort steht als Code:

$sql = "SELECT * FROM artikel WHERE Hersteller = '$hersteller'";
$result = mysql_query($sql);

echo mysql_error();

while($row = mysql_fetch_assoc($result)) {
echo "<a href=\"http://".$row['Bild']."\">Huh";
echo "
";
}

Soweit klappt das alles. Mit dem zweiten File habe ich den selektieren Hersteller plus alle seine Bilder. Aber das ganze bräuchte ich in einem PHP File. Also am besten in dem File von oben.

Grund:
Es soll keine neue Seite aufgehen. Wenn der Benutzer auf den Hersteller klickt, soll der Code von oben ausgeführt werden plus dann ein Redirect auf ein a href (mit Lightbox)...

T.dot 28.08.2006 14:29

Wenn du beide Funktionen auf einer Seite haben willst, schaut das dann eben so aus:

PHP-Code:

$conn_id mysql_connect($host,$ident,$pw);
mysql_select_db($database,$conn_id);

$aktuellerHersteller $_REQUEST['hersteller'];

if(!empty(
$aktuellerHersteller))
{
  
//Hersteller gewaehlt => anzeigen
  
$sql "SELECT * FROM artikel WHERE Hersteller = '$hersteller'";
  
$result mysql_query($sql);

  echo 
mysql_error();

  while(
$row mysql_fetch_assoc($result)) 
  {
    echo 
"<a href=\"http://".$row['Bild']."\">Huh";
    echo 
"
"
;
  }
}
else
{
  
//alle anzeigen
  
$result mysql_query('Select * FROM artikel group by hersteller') OR die(mysql_error());
  
$resultfull mysql_query('Select * FROM artikel') OR die(mysql_error());

  while(
$row mysql_fetch_assoc($result)) 
  {
    echo 
"<a href=\"test.php?hersteller=".$row['Hersteller']."\">".$row['Hersteller']."
"
;
  }


Wenn du die Herstellerliste immer anzeigen willst, dann musst du den Teil im Else Zweig immer ausführen und daher das else wegschmeißen.

was du mit:
Zitat:

plus dann ein Redirect auf ein a href (mit Lightbox)...
und der Lightbox meinst ist mir nicht klar.

ZerOHacke 29.08.2006 08:40

Perfekt, Vielen Dank. Das ist genau das was ich gesucht habe.

Lightbox ist ein JS Teil das Bilder per overlay schön anzeigt. Hier der Link

Das in mein PHP Skript einbinden ist keine Kunst. So muss der Syntax lauten:

image #1

Jetzt muss ich es nur mehr schaffen einen "klick" auf dieses a href zu simulieren, bzw. ein redirect auf das hinzubekommen..

lg,
Michael

ZerOHacke 07.09.2006 09:57

Hi,

Mein Problem konnte ich noch immer nicht lösen :confused:

Aktuell sieht der Code so aus:
PHP-Code:

/Hersteller gewaehlt => anzeigen
  $sql 
"SELECT * FROM artikel WHERE Hersteller = '$hersteller'";
  
$result mysql_query($sql);

  echo 
mysql_error();

  while(
$row mysql_fetch_assoc($result)) 
  {

   echo 
'<script type="text/javascript">';
   echo 
'{location.href="'.$row['Bild'].'" rel="lightbox[bla]";}';    
   echo 
'</script>';

    
  } 

Problem: Die JS Funktion klappt nicht, keine weiterleitung..

lg,
Michael

iG0r 07.09.2006 18:51

Zitat:

Original geschrieben von ZerOHacke
Hi,

Mein Problem konnte ich noch immer nicht lösen :confused:

Aktuell sieht der Code so aus:
PHP-Code:

/Hersteller gewaehlt => anzeigen
  $sql 
"SELECT * FROM artikel WHERE Hersteller = '$hersteller'";
  
$result mysql_query($sql);

  echo 
mysql_error();

  while(
$row mysql_fetch_assoc($result)) 
  {

   echo 
'<script type="text/javascript">';
   echo 
'{location.href="'.$row['Bild'].'" rel="lightbox[bla]";}';    
   echo 
'</script>';

    
  } 

Problem: Die JS Funktion klappt nicht, keine weiterleitung..

lg,
Michael

also auf der lightbox hp stehe folgendes:

Zitat:

If you have a set of related images that you would like to group, follow step one but additionally include a group name between square brackets in the rel attribute. For example:

image #1
image #2
image #3

No limits to the number of image sets per page or how many images are allowed in each set. Go nuts!
daher verstehe ich dein

PHP-Code:

echo '{location.href="'.$row['Bild'].'" rel="lightbox[bla]";}'

nicht. wenn die bilder nicht im selben pfad sind, wie das php script, wird das schon mal so anscheinend nicht klappen. jeder hersteller hat sicher auch eine id, würde diese zusätzlich auslesen und den bildern als lightbox gruppennamen zuweisen.

hoffe ich konnte helfen :)

ZerOHacke 08.09.2006 09:01

Hi,

Das ist eher nur ein Beispielcode geworden. Das mit Lightbox klappt schon so wie ich mir das im Endeffekt vorstelle - nur die Weiterleitung nicht.

Was in dem Codebeispiel von mir fehlt: alle Händler X werden ausgelesen und anzeigt (für den User unsichtbar). Somit hat Lightbox alle Daten die es braucht. Nun möchte ich ohne User einfluss eine Weiterleitung machen damit sich Lightbox praktisch aufruft, und genau das sollte diese Zeile machen:
PHP-Code:

echo '{location.href="'.$row['Bild'].'" rel="lightbox[bla]";}'

Eine einfache Weiterleitung. Und die klappt nicht :(

T.dot 08.09.2006 11:30

Wenns wirklich eine Seitenweiterleitung beim Aufruf der Seite werden soll, würde ich das eher mit nem Header-Redirect und ohne Javascript machen:

PHP-Code:

<?

...

header("location:test.jpg");

?>


ZerOHacke 08.09.2006 13:22

Das Problem ist:

Seite ruft sich auf - User wählt Händler aus - Seite ruft sich selber wieder auf und zeigt Artikel an (unsichtbar) und da sofort dann die Weiterleitung.

Da wird mir der Header wohl nichts bringen..


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag