four in one

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

  • four in one

    Baue mir gerade ne Tips & Tricks Sektion (tt)
    Passendes back-end ist fertig (admin area)
    nun habe ich probleme bei der ausgabe:

    Ausgabe sieht hinterher so aus.
    --------------------
    Autor | betreff | datum
    beitrag
    rating
    comments

    mein rating script funzt, das comments krams, sowie der oberste teil auch

    was ich brauche ist nen ein passender mysql_query() der mir alle meinen tabellen auf ein mal aus.
    ---------------------------------------------
    Tabellenstruktur
    --------------------------------------------
    $table=sternschuppen_tt
    CREATE TABLE sternschuppen_tt (
    id int(25) DEFAULT '0' NOT NULL auto_increment,
    autor text NOT NULL,
    betreff text NOT NULL,
    kurzform text NOT NULL,
    datum text NOT NULL,
    fur char(1) NOT NULL,
    uid int(99) NOT NULL
    PRIMARY KEY (id)
    );

    $user = sternschuppen_user
    CREATE TABLE sternschuppen_user (
    userid int(25) DEFAULT '0' NOT NULL auto_increment,
    first_name varchar(25) NOT NULL,
    last_name varchar(25) NOT NULL,
    user varchar(20) NOT NULL,
    pass varchar(50) NOT NULL,
    email_address varchar(25) NOT NULL,
    );

    $rating=sternschuppen_rating
    CREATE TABLE sternschuppen_rating(
    id int(25) DEFAULT '0' NOT NULL auto_increment,
    ttrating char(4) DEFAULT '0' NOT NULL,
    ttnum_votes smallint(10) DEFAULT '0' NOT NULL,
    ttid smallint(10) DEFAULT '0' NOT NULL,
    KEY ID (id)
    );
    $comments=sternschuppen_comments
    CREATE TABLE sternschuppen_comments (
    id int(25) DEFAULT '0' NOT NULL auto_increment,
    ttid smallint(6),
    Name varchar(20),
    Email varchar(100),
    Text text,
    Datum datetime,
    PRIMARY KEY (id)
    );
    ------------------------------------------------
    Mein bisheriger Query:
    PHP-Code:
    //für beitrag und vote
    $query "SELECT A.* , B.ttrating AS ttrating FROM ".$table." AS A LEFT JOIN ".$rating." AS B ON A.id = B.ttid WHERE fur='".$_GET['show']."' ORDER BY A.zeit DESC"
    Zuletzt geändert von mukraker; 21.05.2003, 14:52.
    thx Mukraker

  • #2
    als erstes wäre es ganz schön, wenn Du uns verrätst, wie die diversen IDs zusammenhängen, die Du in den Tabellen verwendest (und die eigentlich auch alle den gleichen Datentyp/Länge haben sollten).

    Aber ich versuch mal zu raten:
    PHP-Code:
    "SELECT
       a.*, b.*, c.*, d.*
    FROM
       "
    .$table." a, ".$rating." b, ".$user." c, ".$comment." d
    WHERE
       a.id = b.ttid AND
       a.uid = c.id AND
       a.id = d.ttid AND
       fur='"
    .$_GET['show']."'
    ORDER BY a.zeit DESC" 
    Das sollte Dir alles liefern, was er zu einer ID in der $table-Tabelle findet. Wobei ich vermute, das diese uid die Userid aus der Usertabele ist und da praktisch den User identifiziert, der den Comment aus der Commentartabelle geschrieben hat...

    Kommentar


    • #3
      ne die comments werden NICHT von den usern geschrieben,

      ich versuchs mal auf deutsch*g*
      ich will aus der DB haben

      -alles aus $table
      -tutrating aus $rating wo ttid=id aus $table
      -alles aus $comments wo ttid=id aus $table


      dann muss ich nur noch wissen wie ich die sachen hinterher abfrage

      einfach $result['B.betreff] ?

      hab dein mal überarbeitet
      die id aus table übergebe ich ja über $_GET['show']
      die daten aus user brauche ich doch nicht!

      PHP-Code:
      $sql "SELECT
                     a.*, b.*, c.*
              FROM
                     "
      .$table." a, ".$rating." b, ".$comments." c
              WHERE
                    a.id = '"
      .$_GET['show']."' AND
                     a.id = b.ttid AND
                  a.id = c.ttid 
              ORDER BY a.datum DESC"
      ;
      echo 
      $sql;
      $s_sql mysql_query($sql,$connect) or die(mysql_error());
      $row mysql_fetch_array($s_sql); 

      so kein fehler aber auch keine ausgabe
      wie kann ich mir z.b: aus
      $table

      betreff ausgeben lassen ?
      Zuletzt geändert von mukraker; 21.05.2003, 15:55.
      thx Mukraker

      Kommentar


      • #4
        ich würde es mit ner While-Schleife machen...

        PHP-Code:
        while ($x mysql_fetch_array ($s_sql))
        {
          echo 
        $x['betreff'];

        so schreibt er Dir alle selektierten Betreffzeilen untereinander... auf ie anderen Felder der Zeile gehst Du dann analog mit $x['spaltenname']

        Kommentar

        Lädt...
        X