[PHP] verkehrte ausgabe

traffic

Well-known member
5 Mai 2006
675
25
Hallo,

ich laße das Script in die datenbank gehen und dann soll er jeden
Artikel durch gehen. Und dabei dann den Hersteller vom Artikel ausgeben. Jedoch werden dann einige öfters ausgegeben, sitze schon die ganze zeit daran wie ich das ändern könnte.

PHP:
  <?
  $result = mysql_query("SELECT * FROM auto_artikel WHERE kategorie='$kat' AND (typ='$typ' OR typ2='$typ' OR typ3='$typ' OR typ4='$typ' OR typ5='$typ' OR typ6='$typ' OR typ7='$typ' OR typ8='$typ' OR typ9='$typ' OR typ10='$typ')");
  $num = mysql_num_rows($result);

  for($i=0;$i<$num;$i++){

  $row = mysql_fetch_array($result);
  $result2 = mysql_query("SELECT * FROM auto_hersteller WHERE id='$row[hersteller]'");
  $row2 = mysql_fetch_array($result2);

  echo"
  <tr>
    <td width=20> </td>
    <td valign=top><li><a href=?main=artikelliste&typ=$typ&kat=$kat&hersteller=$row[hersteller]>$row2[hersteller]</a>
    <img src=$row2[bild] alt=$row2[hersteller]>
    </td>
  </tr>
  ";
   ?>
jemand eine idee?

DANKE
 
Hm, Du müsstest die bereits ausgegeben Hersteller in 'nem Array zwischenspeichern und gucken, ob der aktuell auszugebende bereits darin enthalten ist. Alternativ könntest Du natürlich 'nen Join machen...

BTW: Folgendes Query ist IMHO wesentlich lesbarer als Dein erstes:
Code:
SELECT *
FROM auto_artikel
WHERE kategorie = '$kat' AND '$typ' IN (typ, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9, typ10)
 
tleilax schrieb:
Hm, Du müsstest die bereits ausgegeben Hersteller in 'nem Array zwischenspeichern und gucken, ob der aktuell auszugebende bereits darin enthalten ist. Alternativ könntest Du natürlich 'nen Join machen...

BTW: Folgendes Query ist IMHO wesentlich lesbarer als Dein erstes:
Code:
SELECT *
FROM auto_artikel
WHERE kategorie = '$kat' AND '$typ' IN (typ, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9, typ10)
oh, danke wußte nicht genau wie ich das mit dem QUERY mache...

wie würde ich das denn mit dem array machen?
 
äh :ugly: da gibts was das nennt sich join... damit kann man das ganz einfach lösen.

PHP:
SELECT
    auto_hersteller.*
FROM
    auto_artikel INNER JOIN
    auto_hersteller ON (auto_artikel.hersteller = auto_hersteller.id)
WHERE
    auto_artikel.kategorie = '$kat' AND
    '$typ' IN (typ, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9, typ10) /*zu faul um da tabellen namen davor zusetzen*/
GROUP BY
    auto_hersteller.id
 
ZeroCCC schrieb:
äh :ugly: da gibts was das nennt sich join... damit kann man das ganz einfach lösen.

PHP:
SELECT
    auto_hersteller.*
FROM
    auto_artikel INNER JOIN
    auto_hersteller ON (auto_artikel.hersteller = auto_hersteller.id)
WHERE
    auto_artikel.kategorie = '$kat' AND
    '$typ' IN (typ, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9, typ10) /*zu faul um da tabellen namen davor zusetzen*/
GROUP BY
    auto_hersteller.id
krass das funkt. aber ich versteh das inner join nicht....
DANKE
 
mal so nebenbei....kann ich mit php auch mitten im script den benutzer zu einer weiteren Seite weiterleiten?

header("location: https://www.www.de"); so gehts ja nicht
 
Hi,

probier es einfach mal damit:

Code:
<meta http-equiv='refresh' content='1; URL=seite.htm'>

:)

Evtl. musst du es dann noch unten in <head></head> fassen.

-Flori-
 
evident schrieb:
Hi,

probier es einfach mal damit:

Code:
<meta http-equiv='refresh' content='1; URL=seite.htm'>

:)

Evtl. musst du es dann noch unten in <head></head> fassen.

-Flori-
danke geht fast.

kann man das noch schneller refreshen?

und irgendwie klappt es nicht mit refresh und url....
denn wenn ich eine URL eingebe. refresh er, aber nich zur url
PHP:
echo"<head><meta http-equiv='refresh' content='1' URL='index.php?main=artikel&id=$id&done=1'> </head> ";
 
hast auch nen fehler, du hast content='1' url='URL'

das muß aber content='1; URL=url' lauten!!! ond dann versuchs mal mit der 0 statt 1!