php, codeschnipsel, php beispielen
Per Zufall zwei Mysql Tabellen abfragen

Navigation
Home
Fachbücher
Support Forum
Webmaster News
Script Newsletter
Kontakt
Script Installation
Php
Php Tutorials
Impressum

Userbereich
kostenlos Anmelden
Memberliste

Script Datenbank
Script Archiv
Script Top 20
Screenshots
Testberichte

Suche

 
Script Seite

Unsere Php Scripts
Counter Script
Umfrage Script
Bilder Upload Script
Terminverwaltung
Simple PHP Forum
RSS Grabber

Script Mods
phpBB Adsense Mode

Tools und Generatoren
.htpasswd Generator
md5 Generator
base64 Generator
ICQ Generator
Colorpicker
Unix timestamp Tool
TLD Liste
Webkatalog Verzeichnis

Partner
Sprüche Treff

1und1.de
Dieser Anbieter bietet Domains, Webhosting sowie R...

Hosteurope.de
Bei den Anbieter bekommen sie Domains, Webspace, W...

weitere Anbieter
PHP Space Community auf Facebook PHP Space Community auf Twitter RSS Feeds der PHP Space Community

 

Statistik
12 Gäste Online
0 Member Online
315 Besucher heute
1186 Besucher gestern
 

Per Zufall zwei Mysql Tabellen abfragen

Sie befinden sich: Home > Php Tutorial > Per Zufall zwei Mysql Tabel...

Per Zufall zwei Mysql Tabellen abfragen



Eintrag am:  02.12.2009
Hits / Besucher:  1032
Sprache: DeutschDeutsch
Kategorie:  Fortgeschrittene Tut...
Tutorial Art:  eigenes
Eingetragen von:  schubertmedia
 

Beschreibung


In diesem PHP Tutorial möchte ich ihnen erklären, wie sie per Zufall zwei MySQL Tabellen abfragen können. Dieses Tutorial habe ich geschrieben, da in unserem Forum zu dieser Thematik eine Frage gestellt wurde. Die Anwendungsbeispiele sind Recht vielseitig und man könnte unterschiedliche Skripte zu dieser Thematik veröffentlichen. In diesem Beispiel gehe ich ausschließlich darauf ein wie man per Zufall zwei unterschiedliche Tabellen ansteuert. Man könnte natürlich auch zwei unterschiedliche Datenbänke mit diesem Script abfragen.

Als erstes müssen wir über den PHPMyAdmin zwei Tabellen anlegen, die sie abfragen möchten. Nachfolgend finden sie eine entsprechendes SQL Statement, was sie einfach in das SQL Fenster in PHPMyAdmin einfügen müssen. Danach wird automatisch, die zwei unterschiedlichen Tabellen angelegt.

Das SQL Statement:

--
-- Datenbank:
`zufall_test`
--
 
-- --------------------------------------------------------
 
--
-- Tabellenstruktur für Tabelle `datenbank1`
--
 
CREATE TABLE IF NOT EXISTS `datenbank1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
    `datenbank` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 2 ;
 
--
-- Daten für Tabelle `datenbank1`
--
 
INSERT INTO `datenbank1` (`id`, `datenbank`) VALUES
(1, 'Daten von Tabelle: datenbank1');
 
-- --------------------------------------------------------
 
--
-- Tabellenstruktur für Tabelle `datenbank2`
--
 
CREATE TABLE IF NOT EXISTS `datenbank2` (
`id` int(11) NOT NULL AUTO_INCREMENT,
    `datenbank` varchar(255) NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 2 ;
 
--
-- Daten für Tabelle `datenbank2`
--
 
INSERT INTO `datenbank2` (`id`, `datenbank`) VALUES
(1, 'Daten von Tabelle: datenbank2');
 

Nachdem wir die zwei Tabellen angelegt haben kommen wir zum Script. Nachfolgend finden sie das Script womit man auf zwei unterschiedliche Tabellen zugreifen kann. In diesem Beispiel sehen sie die MySQL Zugangsdaten von meinen lokalen Server. Diese Daten müssen sie natürlich, an ihren anpassen.

Das Script:

<?php
    
/**
    * Daten von der ersten Datenbank
    */
     
    /**
    * Der Host von der ersten Datenbank
    */
    
$host['1'] = 'localhost';
    
/**
    * Der MySQL User von der ersten MySQL-Datenbank
    */
    
$user['1'] = 'root';
    
/**
    * Das Passwort für den MySQL User der ersten MySQL-Datenbank
    */
    
$passwort['1'] = '***';
    
/**
    * Die erste Datenbank worin die Tabelle gespeichert ist
    */
    
$datenbank['1'] = 'zufall_test';
    
/**
    * Name der Tabelle
    */
    
$table['1'] = 'datenbank1';
    
/**
    * ###################################
    */
    /**
    * Daten von der zweiten Datenbank
    */
     
    /**
    * Der Host von der zweiten Datenbank
    */
    
$host['2'] = 'localhost';
    
/**
    * Der MySQL User von der zweiten MySQL-Datenbank
    */
    
$user['2'] = 'root';
    
/**
    * Das Passwort für den MySQL User der zweiten MySQL-Datenbank
    */
    
$passwort['2'] = '***';
    
/**
    * Die zweite Datenbank worin die Tabelle gespeichert ist
    */
    
$datenbank['2'] = 'zufall_test';
    
/**
    * Name der Tabelle
    */
    
$table['2'] = 'datenbank2';
    
/**
    * Als nächstes ermitteln wir in der Variable $host die
        Anzahl der unterschiedlichen host, in unserem Beispiel
        müsste die Zahl 2 sein mit der Funktion count(), danach
        wird mit rand() die Variable $zufall_key befüllt.
    */
    
$zufall_key rand(1count($host));
    
/**
    * Nachdem wir eine zufällige Datenbank ausgewählt haben,
        erstellen wir eine Verbindung zu unserer MySQL Datenbank.
    */
    
$db mysql_connect($host[$zufall_key], $user[$zufall_key],
        
$passwort[$zufall_key]) or die ("Es konnte keine
        Verbindung zur Datenbank hergestellt werden!"
);
    
/**
    * Wenn wir eine Verbindung erfolgreich hergestellt haben,
        werden wir mit dem PHP Befehl mysql_select_db() die
        entsprechende Datenbank aus.
    */
    
$db_selected mysql_select_db($datenbank[$zufall_key], $db);
    
/**
    * Nun bauen wir unser SQL Statement zusammen, womit wir eine
        Abfrage an die Datenbank stellen möchten.
    */
    
$sql_select "SELECT id, datenbank FROM
        `"
.$table[$zufall_key]."`;";
    
/**
    * Mit der PHP Funktion mysql_query() senden wir unserer
        Abfrage an die offene MySQL Verbindung. Und speichern
        die  resource in der Variable $query.
    */
    
$query = @mysql_query($sql_select) or die('Mysql Fehler:
        '
.mysql_errno());
    
/**
    * Mit der PHP Funktion mysql_num_rows() ermitteln wir die
        Anzahl der zurückgegebene Datensätze, wenn wir
        Datensätze zurückbekommen, wird mit einer while
        Schleife die Ausgabe generiert.
    */
    
if (@mysql_num_rows($query) != 0) {
        echo 
'ID;Datenbank<br>';
        while (
$daten mysql_fetch_assoc($query)) {
            echo 
$daten["id"].';'.$daten["datenbank"].'<br>';
        }
    } else {
        echo 
'Es sind keine Daten vorhanden!';
    }
?>

Die Ausgabe würde dann folgendermaßen aussehen:

ID;Datenbank
1;Daten von Tabelle: datenbank1

oder

ID;Datenbank
1;Daten von Tabelle: datenbank2

So das soll es erst mal gewesen sein, dieses Beispiel verdeutlicht nur, wie man auf zwei unterschiedliche Tabellen beziehungsweise Datenbänke drauf zugreifen kann. Vor ein paar Tagen habe ich schon ähnliche Beiträge verfasst, hier ging es darum, wie man zum Beispiel zufällig ein Bild oder Text anzeigen lassen kann. Vielleicht ist dies euch verständlicher, um zufällige Daten auszugeben. Wenn ihr nach Anregungen oder Fragen zu dieser Thematik hat, könnte gern in unserem Supportforum entsprechende Kritik oder Vorschläge veröffentlichen.

 

Tags


 

Verlink uns, wenn Dir das Tutorial gefallen hat:
Artikel hinzufügen bei:
Bookmark bei: Mr. Wong Bookmark bei: Webnews Bookmark bei: Icio Bookmark bei: Folkd Bookmark bei: Yigg Bookmark bei: Linkarena Bookmark bei: Del.ico.us Bookmark bei: Reddit Bookmark bei: Digg Bookmark bei: StumbleUpon Bookmark bei: Slashdot Bookmark bei: Google Bookmark bei: Blinklist Bookmark bei: Blogmarks Bookmark bei: Diigo Bookmark bei: Technorati Bookmark bei: Newsvine Bookmark bei: Netvouz