Tabelle mit einer Variable

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabelle mit einer Variable

    Hallo ihr,

    ich versuche mein Glück jetzt einfach mal hier.
    Ich habe mein Problem bereits in anderen Foren besprochen. Das ist schon ein paar Tage her. In Konsens mit hiesigen Forenregeln, bitte ich euch höflich um Hilfe.

    In einem anderen Forum konnten zumindest ein paar Ansätze gefunden werden. Aber leider funktioniert es trotzdem nicht so, wie es soll.
    Und der freundliche Helfer des anderen Forums hat wohl schon entnervt aufgegeben.
    Tabelle: Eine Variable?, 2 Zeilen - PHP Forum

    Mein Problem:

    Ich habe 2 Tabellen. In Tabelle1 wird aus der MySQL Datenbank Images und weitere Daten geholt und diese Images werden als Top-Artikel angezeigt.
    Welche Topartikel es genau sind, die angezeigt werden, kann man festlegen.
    Die Images der 4 verschiedenen Topartikel werden mit nur einer Variable dargestellt. Diese heißt "$image" und befindet sich in der ersten Tabelle.
    Die Tabelle ist so aufgebaut, dass die Images alle nebeneinander angezeigt werden. Also:

    Image1 Image2 Image3 Image4

    Ich möchte die Images aber in 2 Reihen untereinander darstellen. Also:

    Image1 Image2
    Image3 Image4

    In Tabelle 2 werden die neuesten Artikel aus dem Sortiment angezeigt. Ebenfalls 4.
    Die 4 Images werden in Tabelle2 auch mit der Variable "$Image" aus der MySQL Datenbank geholt.
    Die Images sollen ebanfalls wie in Tabelle1 angeordnet sein.

    Ich poste jetzt erstmal Code. Ich habe den Code ein wenig kommentiert.
    Der Code ist auch nochmal hier einzusehen. Vielleicht etwas übersichtlicher:
    quakenet:#php - nopaste #135477> -- Fast kompletter Code

    PHP-Code:
    $sql1_artikel "SELECT * FROM artikel"#Hier fängt dann wohl alles was zu Tabelle 1 gehört an.
    $res1_artikel mysql_query($sql1_artikel);
    $z1_artikel mysql_num_rows($res1_artikel);
    $y=1;
    if (
    $z1_artikel!='0') { #1. if-abfrage Anfang
    #Ab Hier ist wohl der absolute Anfang der ersten Tabelle
    print ("<td>"); 
    $sql2_topartikel "SELECT * FROM topartikel ORDER by top_id"#Hier werden die topartikel ausgewählt
    $res2_topartikel mysql_query($sql2_topartikel);

    while(
    $row mysql_fetch_assoc($res2_topartikel)) { #1. while-schleife Anfang
    $top_id $row['top_id']; $top_artid $row['top_artid'];
    $sql2_artikel "SELECT * FROM artikel WHERE art_id = '$top_artid'"#Hier werden die Topartikel wohl auch ausgewählt
    $res2_artikel mysql_query($sql2_artikel);

    while(
    $row mysql_fetch_assoc($res2_artikel)) { #2. while-schleife Anfang
    $art_id $row['art_id']; $art_kat $row['art_kat']; $art_nr $row['art_nr']; /*Hier werden Artikel-ID, Titel,
     Image, Dateigröße, Preise usw. aufgegriffen*/
    $art_titel $row['art_titel']; $art_img $row['art_img']; 
    $art_imgw $row['art_imgw']; $art_imgh $row['art_imgh']; 
    $art_datei $row['art_datei']; $art_size $row['art_size']; 
    $art_demo $row['art_demo']; $art_descr $row['art_descr']; 
    $art_preis1 $row['art_preis1']; $art_preis2 $row['art_preis2']; 
    $art_preis3 $row['art_preis3']; $art_preis4 $row['art_preis4']; 
    $art_liz1 $row['art_liz1']; $art_liz2 $row['art_liz2']; 
    $art_liz3 $row['art_liz3']; $art_liz4 $row['art_liz4'];
    if (
    $art_img=='') {$image="img/noimage150.png"$breite=150$hoehe=120;} #Wenn kein Image hochgeladen wurde

    else {$image="artikel/".$art_img#else-abfrage Anfang (Wenn ein Image hochgeladen wurde)
    if ($art_imgw>=$art_imgh) { #Breite und Höhe der Images. Die Variablen tauchen alle auch in den Tabellen auf.
       
    $breite "331";    $brprozent = ((110 $breite) / $art_imgw);
        
    $hoehe = (($art_imgh $brprozent) / 75);    $hoehe = (ceil ($hoehe));
    }
    else {    
    $hoehe "120";    $brprozent = ((100 $hoehe) / $art_imgh);
        
    $breite = (($art_imgw $brprozent) / 100);    $breite = (ceil ($breite));
    }
    #else-abfrage Ende (Wenn ein Image hochgeladen wurde)


    #Hier fängt Tabelle 1 an. Also die Topartikel. img src='$image' lässt alle 4 Topartikel anzeigen
    print ("<td width=351> 
    <table width=351 border=0 cellpadding=0 cellspacing=0>
    <tr><td colspan=2 height=130 style='border:1px solid #CCCCCC;' align=center>
    <a href='details.php?session=
    $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='$image' width='$breite' height='$hoehe' border='0'></a></td></tr> "/*$image zeigt 4 verschiedene Images an. Würde ich diese Zeile ein zweites Mal einfügen, würden nochmal die selben 4 Images angezeigt werden.*/"
    <tr><td id='space' height=2>&nbsp;</td></tr>
    <tr><td><a href='details.php?session=
    $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='img/bt-detailsind.png' width='164' height='23' border='0'></a></td></tr>
    </table>
    </td>"
    );


    if (
    $y!=3) {
    print (
    "<td width=9 id='space'>&nbsp;</td>");
    }
    #2. while-schleife Ende
    $y++;
    #1. while-schleife Ende
    print ("</tr>");

    #1. if-abfrage Ende
    else {
    print (
    "<tr><td>Wir haben leider noch keine Artikel im Angebot!</td></tr>");
    }
    print (
    "</table>
    </td></tr>
    </table>
    </td></tr>

    <tr><td id='space' height=10>&nbsp;</td></tr>
    <tr><td id='tabrighthead'>Ganz neu im Sortiment</td></tr>
    <tr><td id='space' height=10>&nbsp;</td></tr>
    <tr><td>
    <table id='tabiright' align=center border=0 cellpadding=0 cellspacing=0>
    <tr><td id='conth100' valign=top>
    <table id='content' align=center border=0 cellpadding=0 cellspacing=0>"
    );
    $sql1_artikel "SELECT * FROM artikel"#Hier fängt dann wohl alles was zu Tabelle 2 gehört an.
    $res1_artikel mysql_query($sql1_artikel);
    $z1_artikel mysql_num_rows($res1_artikel);
    $x=1;
    if (
    $z1_artikel!='0') { #if-abfrage Anfang
    #Hier ist wohl der absolute Anfang der zweiten Tabelle
    print ("<td>");
    $sql2_artikel "SELECT * FROM artikel ORDER by art_id DESC limit 0,4"/*Hier werden die neuen Artikel gewählt
    und auf 4 Artikel begrenzt.*/
    $res2_artikel mysql_query($sql2_artikel);

    while(
    $row mysql_fetch_assoc($res2_artikel)) { #while-schleife von Tabelle 2 Anfang
    $art_id $row['art_id']; $art_kat $row['art_kat']; $art_nr $row['art_nr']; /*Hier werden Artikel-ID, Titel,
     Image, Dateigröße, Preise usw. aufgegriffen*/
    $art_titel $row['art_titel']; $art_img $row['art_img']; 
     
    $art_imgw $row['art_imgw']; $art_imgh $row['art_imgh']; 
     
    $art_datei $row['art_datei']; $art_size $row['art_size']; 
     
    $art_demo $row['art_demo']; $art_descr $row['art_descr']; 
     
    $art_preis1 $row['art_preis1']; $art_preis2 $row['art_preis2']; 
     
    $art_preis3 $row['art_preis3']; $art_preis4 $row['art_preis4']; 
     
    $art_liz1 $row['art_liz1']; $art_liz2 $row['art_liz2']; 
     
    $art_liz3 $row['art_liz3']; $art_liz4 $row['art_liz4'];
     
    if (
    $art_img=='') {$image="img/noimage150.png"$breite=150$hoehe=120;} #Wenn kein Image hochgeladen wurde

    else {$image="artikel/".$art_img#else-abfrage Anfang (Wenn ein Image hochgeladen wurde)
    if ($art_imgw>=$art_imgh) { #Breite und Höhe der Images. Die Variablen tauchen alle auch in den Tabellen auf.
       
    $breite "331";    $brprozent = ((110 $breite) / $art_imgw);
        
    $hoehe = (($art_imgh $brprozent) / 75);    $hoehe = (ceil ($hoehe));
    }
    else {    
    $hoehe "120";    $brprozent = ((100 $hoehe) / $art_imgh);
        
    $breite = (($art_imgw $brprozent) / 100);    $breite = (ceil ($breite));
    }
    #else-abfrage Ende (Wenn ein Image hochgeladen wurde)


    #Hier fängt Tabelle 2 an. Also die neuesten Artiekl. img src='$image' lässt die 4 neuesten Artikel anzeigen
    print ("<td width=351>
    <table width=351 border=0 cellpadding=0 cellspacing=0>
    <tr><td height=130 style='border:1px solid #CCCCCC;' align=center>
    <a href='details.php?session=
    $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='$image' width='$breite' height='$hoehe' border='0'></a></td></tr> "/*$image zeigt 4 verschiedene Images an. Würde ich diese Zeile ein zweites Mal einfügen, würden nochmal die selben 4 Images angezeigt werden.*/"
    <tr><td id='space' height=2>&nbsp;</td></tr>
    <tr><td><a href='details.php?session=
    $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='img/bt-detailsind.png' width='164' height='23' border='0'></a></td></tr>
    </table>
    </td>"
    );


    if (
    $x!=3) {
    print (
    "<td width=9 id='space'>&nbsp;</td>");
    }
    $x++;
    #while-schleife von Tabelle 2 Ende
    print ("</tr>");
    #if-abfrage von Tabelle 2 Ende
    else { 
    Ich weiß, es ist viel Code und schrecklicher Code. Ich blicke auch nicht richtig durch. Ich habe versucht ihn lesbar umzugestalten.

    Ich habe leider nicht viel Ahnung von PHP und sitze schon seit Tagen an dem Problem.

    Kann mir bitte Irgendjemand helfen?


    Gruß
    Alex
    Zuletzt geändert von Suende84; 21.12.2011, 15:24. Grund: Code Formatiert

  • #2
    Du kannst noch in 20 weiteren Foren posten, aber mit so einer Einstellung wirst du nirgendwo Erfolg haben.

    Tabelle mit einer Variable - PHP Forum: phpforum.de

    Kommentar


    • #3
      Das vergaß ich noch:

      Ich bin mir nicht sicher welche Teile des Codes genau geändert werden müssen. Ich kann nur spekulieren und poste jetzt 2 kleine Ausschnitte des Codes, die vielleicht ausschließlich verändert werden müssten. Möglicherweise..


      Tabelle 1:

      PHP-Code:
      #Hier fängt Tabelle 1 an. Also die Topartikel. img src='$image' lässt alle 4 Topartikel anzeigen
      print ("<td width=351> 
      <table width=351 border=0 cellpadding=0 cellspacing=0>
      <tr><td height=130 style='border:1px solid #CCCCCC;' align=center>
      <a href='details.php?session=
      $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='$image' width='$breite' height='$hoehe' border='0'></a></td></tr> "/*$image zeigt 4 verschiedene Images an. Würde ich diese Zeile ein zweites Mal einfügen, würden nochmal die selben 4 Images angezeigt werden.*/"
      <tr><td id='space' height=2>&nbsp;</td></tr>
      <tr><td><a href='details.php?session=
      $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='img/bt-detailsind.png' width='164' height='23' border='0'></a></td></tr>
      </table>
      </td>"
      ); 
      Tabelle 2:

      PHP-Code:
      #Hier fängt Tabelle 2 an. Also die neuesten Artiekl. img src='$image' lässt die 4 neuesten Artikel anzeigen
      print ("<td width=351>
      <table width=351 border=0 cellpadding=0 cellspacing=0>
      <tr><td height=130 style='border:1px solid #CCCCCC;' align=center>
      <a href='details.php?session=
      $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='$image' width='$breite' height='$hoehe' border='0'></a></td></tr> "/*$image zeigt 4 verschiedene Images an. Würde ich diese Zeile ein zweites Mal einfügen, würden nochmal die selben 4 Images angezeigt werden.*/"
      <tr><td id='space' height=2>&nbsp;</td></tr>
      <tr><td><a href='details.php?session=
      $session&art=$art_id&kat=$kat&next=$next&page=$page&back=index'><img src='img/bt-detailsind.png' width='164' height='23' border='0'></a></td></tr>
      </table>
      </td>"
      ); 
      Zuletzt geändert von Suende84; 21.12.2011, 15:08. Grund: Code Formatiert

      Kommentar


      • #4
        Formatiere deinen Quellcode.
        Das lese ich mir so nicht durch!

        Tipp:
        Einrückungen sollen nicht verwirren, sondern dem Leser helfen Überblick zu bekommen.
        Wir werden alle sterben

        Kommentar


        • #5
          Ich habe ihn jetzt formatiert. Aber ob das jetzt übersichtlicher ist? Ich weiß nicht wie ich den noch formatieren soll. Den kann man nicht vernünftig formatieren.

          Kommentar


          • #6
            Zitat von Suende84 Beitrag anzeigen
            Den kann man nicht vernünftig formatieren.
            Natürlich kann man das. Man kann jeden Code formatieren.

            Kommentar


            • #7
              OffTopic:

              Zitat von h3ll Beitrag anzeigen
              Natürlich kann man das. Man kann jeden Code formatieren.
              Kann man das?

              PHP-Code:
              $suchmaske  './images/*.jpg'// <<-- Ordner anpassen
              $dateien    glob($suchmaske);
              $anzahl     count($dateien);
              empty(
              $dateien) and die("Keine Bilder mit $suchmaske gefunden!");
              $nummer     = isset($_GET['n'])?(int)$_GET['n']:0;
              $linkprev   0<$nummer?'<a href="?n='.($nummer-1).'">prev</a>':'prev';
              $linknext   $nummer<($anzahl-1)?'<a href="?n='.($nummer+1).'">next</a>':'next;';
              $image      '<img src="'.$dateien[$nummer].'">';
              echo  
              $linkprev ||| $linknext  Bild ".($nummer+1)." von $anzahl $dateien[$nummer]<br>$image"


              Zuletzt geändert von combie; 21.12.2011, 15:35.
              Wir werden alle sterben

              Kommentar


              • #8
                noch ein Beispiel

                Code:
                <table>
                 <tr>
                  <td>...
                  </td>
                 </tr>
                </table>
                und denk immer daran, dass das in erster Linie dir selber hilft.

                Kommentar


                • #9
                  @combie

                  Das ist leider nicht das wonach ich gesucht habe.

                  Wer sich wirklich gut mit PHP auskennt und meint das hinzukriegen, kann sich per PN mit Preisvorstellung bei mir melden.


                  Gruß
                  Alex

                  Kommentar


                  • #10
                    Also bei den codeformatierungen wird einem ja Angst und Bange. Auch hier mein Tipp, verlang den Geld zurück, wer das so geschrieben hat gehört weg gesperrt.

                    Ist das Teil eines Shopscriptes oder was soll das sein?

                    Du kannst mich hier mal per PN anschreiben dann können wir was aushandeln.
                    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                    http://www.lit-web.de

                    Kommentar


                    • #11
                      Hi Suende84,
                      wenn du lt. eigener Einschätzung wenig Ahnung von PHP hast, warum vertrödelst du deine Zeit damit,
                      fremden Code zu analysieren und anzupassen? Die Zeit solltest du besser nutzen, in dem du deine
                      bescheidenen Kenntnisse erweiterst.

                      Zum zweiten wird die Darstellung von Inhalten (egal ob aus einer DB, aus einer Datei etc.) nicht mit PHP
                      sondern mit HTML bzw. CSS umgesetzt. Sprich, auch wenn du HTML-Tags/Inhalte mit PHP ausgibst, am
                      Client (Browser) landet nur HTML.

                      In Anlehnung an dein Angebot . . .
                      >> Wer sich wirklich gut mit PHP auskennt und meint das hinzukriegen, kann sich per PN mit Preisvorstellung bei mir melden.<<
                      . . . kannst du quasi einen PHP-Experten für 200 EUR/h engagieren, um den Code zu analysieren. Aber wenn der nicht weiß,
                      wie man z.B. eine Tabelle mit HTML/CSS formatiert ausgibt, so kannst du das Geld auch der FDP spenden. Heißt: Es wird nichts geliefert :-)

                      Bezugnehmend auf den Titel, "Tabelle mit einer Variable ", deiner Frage und deinem offensichtlichem Erstaunen . . .
                      >>Die Images der 4 verschiedenen Topartikel werden mit "nur" einer Variable dargestellt.<<
                      . . . wenn versch. Inhalte, egal aus welcher Quelle, angezeigt werden, dann geschieht das (häufig, fast immer) mittels einer Schleife.
                      Dort gibt es (fast) immer nur eine Variable, die bei jedem Durchlauf mit einem neuen Wert belegt und dann ausgegeben wird.
                      Somit könnten z.B. auch 1000 Topartikel mit "nur" einer Variablen dargestellt werden. Klar ;-)

                      Es ist also absolut müßig, deinen geposteten Code zu entwirren, sondern fang erst mal klein an:
                      - Poste deine Tabellenstruktur
                      - Wie werden deine Topartikel in der Tabelle gekennzeichnet
                      Das ganze andere Gewusel, wie Preis, Bildhöhe/-Breite, Links, Formatierung der Ausgabe etc., kann man dann nach und nach ergänzen.

                      Gruß
                      Günni

                      Kommentar

                      Lädt...
                      X