Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 22

Thema: db_tabele1 db_table2

  1. #1
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396

    db_tabele1 db_table2

    Ich hab in der db_news tabele den id wert.
    Und in der db_news_kommen einen nid wert,
    wie kann ich die anzahl die übereinstimenden anzeigen lassen also die anzal der übereinstimungen ?
    PHP-Code:
    $result SELECT news.idCOUNT(*) AS anzahl FROM news INNER JOIN news_kommen ON news.id news_kommen.nid GROUP BY news.id
    $row 
    mysql_fetch_object($result);
    echo 
    $row->ID
    so irgendwie oder ??

  2. #2
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Ich hätte jetzt gesagt, das das so geht, hast du es schonmal ausprobiert?

    Ich benutze anstatt INNER JOIN immer LEFT JOIN, aber ich glaub das spielt keine rolle.

  3. #3
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    $result = "SELECT news.id, COUNT(*) AS anzahl FROM news INNER JOIN news_kommen ON news.id = news_kommen.nid GROUP BY news.id";

    so könnte es gehen... oder

    $result = "SELECT news.id, COUNT(*) AS anzahl FROM news, news_kommen where news.id = news_kommen.nid GROUP BY news.id";
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    PHP-Code:
    $result "SELECT news.id, COUNT(*) AS anzahl FROM news, news_kommen where news.id = news_kommen.nid GROUP BY news.id";
    $row mysql_fetch_object($result);
    echo 
    $row->ID
    also jetzt sagt der es wer ein fehler in der weziet zeile also
    PHP-Code:
    $row mysql_fetch_object($result); 
    also in den news db_ ist eine n_id
    und bei den kommtaren eine id und eine giebt es eine id und eine nid ich muss wissen wie viel mit der nid bei den kommtaren da sind also die n_id ist 3 und wie viel jetzt bei den kommtaren nid 3 haben.
    Geändert von localhost (27-03-2003 um 09:30 Uhr)

  5. #5
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    wie sieht der fehler aus ? kommt er von PHP oder der DB ?
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  6. #6
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    Warning: Supplied argument is not a valid MySQL result resource in /temp/www/news.php on line 67

    66 $result = "SELECT news.n_id, COUNT(*) AS anzahl FROM news, news_kommen where news.n_id = news_kommen.nid GROUP BY news.n_id";
    67 $row = mysql_fetch_object($result);
    68 echo $row->ID;

  7. #7
    Registrierter Benutzer
    Registriert seit
    05.06.2002
    Ort
    Hof
    Beiträge
    154
    Ich glaube, ich habe schonmal was zum
    Lesen von Anleitungen geschrieben.
    Mensch kauf Dir doch ein Buch oder suche
    im Internet. Sonst lernst Du nie was.

    Bei google gesucht nach:

    PHP-Code:
    php datenbank abfrage 
    Das erste Ergebnis ist genau so, dass
    Du etwas damit anfangen können solltest.

    http://www.uni-giessen.de/~g004/php/mysqlfunktionen

    Vergleiche mal.

    cu, stop.h

  8. #8
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    aber nirgenswo steht wie ich aus zwei datenbanken zwei werte verkleichen kann und die anzal der ergebenisse dastellen kann?
    Das muss doch jedemd wissen

  9. #9
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Hallo!

    Mooment... erstmal Begriffsdefinition:

    Willst du zwei Werte aus zwei Tabellen aus einer Datenbank vergleichen und die Anzahl der überinstimmenden ausgeben, dann ist der Ansatz aus dem ersten Post der richtige.
    Wenn du zwei Tabellen aus zwei verschiedenen Datenbanken vergleichen, dann hast du Pech, das geht bei MySQL nämlich nicht!
    Dann musst du auf beide Datenbanken nacheinander connecten auf die Tabellen einen Select machen und die Ergebnisse mit PHP Code vergleichen.

    Wie immer, das alte Problem: niemand weiss genau was du eigentlich willst.


  10. #10
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    leider daneben:

    select feld from db1.tab, db2.tab where db1.id=db2.id

    funxt.....
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  11. #11
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    Der Query ist genau richtig!

    Das Problem ist ganz einfach das du ihn überhaupt nicht ausführst:

    PHP-Code:
    $query "SELECT ... ";
    $result mysql_query($query);
    $row mysql_fetch_object($result); 
    So sollte es ohne weiteres Funktionieren. Natürlich musst du vorher ne Verbindung herstellen. Jwebworks ging es vielmehr um das Fehlen des Verständnisses zur Programmierung.

  12. #12
    Registrierter Benutzer
    Registriert seit
    07.11.2002
    Beiträge
    396
    $result = "SELECT count(*) as count FROM news, news_kommen WHERE news.n_id = news_kommen.nid";
    $result = mysql_query($query);
    $row = print_r($row);
    also so gehtz auch nicht
    cih poste mal die ganze page
    PHP-Code:
    <?
      include("config.inc.php");
      $timestamp = time();
    function getmicrotime(){
        list($usec, $sec) = explode(" ",microtime());
        return ((float)$usec + (float)$sec);
        }
    $time_start = getmicrotime();
    for ($i=0; $i < 10; $i++){
        }
    ?>
    <HTML>
    <HEAD>

    <? include("head.inc.php"); ?>

    </HEAD>
    <body leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0>

    <a name="top"></a><br>

    <? include("head.menu.inc.php"); ?>

    <br>

    <?

    echo "<table width=750 border=0 align=center cellpadding=1 cellspacing=1 bgcolor=000000>";
    echo "<tr>";
    echo "<td bgcolor=FFFFFF colspan=2><B>Die letzen 10 News:</b></td>";
    echo "</tr>";
    echo "</table>";

    echo "<br>";

      $abfrage = "SELECT * FROM news ORDER BY n_id DESC LIMIT 10";
      $ergebnis = mysql_query($abfrage);
      while($row = mysql_fetch_object($ergebnis))
        {
    nl2br($code);

    echo "<table width=750 border=0 align=center cellpadding=1 cellspacing=1 bgcolor=000000>";


    echo "<tr>";
    echo "<td bgcolor=FFFFFF colspan=3>";
    echo "<center><b>"; echo $row->titel;
    echo "</td>";
    echo "</tr>";


    echo "<tr>";
    echo "<td bgcolor=FFFFFF colspan=3>";
     echo $row->blabla;
    echo "</td>";
    echo "</tr>";

    echo "<tr>";
    echo "<td bgcolor=FFFFFF width=30>";
    echo "<font color=E46600> #$row->n_id </font>";
    echo "</td>";

    echo "<td bgcolor=FFFFFF width=720>";
    echo "_<a href=comments.php?id=$row->n_id>comments [ ";

    $query = "SELECT count(*) as count FROM news, news_kommen WHERE news.n_id = news_kommen.nid"; 
    $result = mysql_query($query);
    $row = mysql_fetch_object($result); 

    echo " ]</a> | by ";
    echo "<a href=mailto:$row->mail>$row->autor</a> @ "; $time = date("d.m.Y - H:i",$row->zeit); echo $time," Uhr";
    echo "</td>";
    echo "</tr>";


    echo "</table><br>";
        }
    ?>

    <? include("bottom.inc.php"); ?>

    <br>

    </body>
    </HTML>
    Geändert von localhost (27-03-2003 um 16:04 Uhr)

  13. #13
    Registrierter Benutzer
    Registriert seit
    02.12.2002
    Ort
    Darmstadt
    Beiträge
    615
    1.) Lies was ich geschrieben hab.
    2.) Schau was du eingegeben hast.
    [3.) Tipp: Ich hab nie geschrieben print_r ]

  14. #14
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    @Elrond... könntest du das mal als komplettes beispiel mit connect, selectdb etc. bringen?


  15. #15
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    @Gaert

    $sql="select * from $auth_db.sysuser u,usergroupass ua where u.userid=ua.userid and u.statusid=1 and upper(u.username)='".strtoupper($un)."' and upper(u.userpasswd)='".strtoupper($up)."'";

    $rs_arr=$db->select($sql);

    Das ist das statement mit dem ich die Authentifizierung in einer meiner Anwendungen mache.

    in $auth_db seteht der name der DB die User und Passwords usw. enthält. mein normales connect geht auf eine andere db
    die tabelle "sysuser" liegt in der $authdb,
    die tabelle usergroupass in der aktuellen db...

    Viel mehr ist dazu nicht zu sehen. aber due kannst das referenzieren in eine andere db auf der shell ausprobieren.
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •