php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 29.10.2009, 15:38  
Benutzer
 
Registriert seit: 12.11.2008
Beiträge: 72
regsnerven befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Von externer Datenbank zu interner zurückspringen

Hallo Leute,

ich hier hier ein Portal, das die letzten X Forenbeiträge anzeigen kann.
Das Portal geht natürlich davon aus, dass die Forum-DB die gleiche ist, wie die des Portals.
Man kann aber auch festlegen, dass er auf eine andere zugreift. Und das versuche ich gerade. Allerdings mit mäßigem Erfolg.

Dazu gibt es folgende Funktion:

PHP-Code:
function forum_reader()
{
    
$forum_option get_options(array('forum_typ','forum_beitraege','forum_url','forum_db','forum_tablepre','forum_lockedids','forum_sql_host','forum_sql_user','forum_sql_pwd'));
    
$forum_items '';

    if (!empty(
$forum_option[6]) && !empty($forum_option[7]) && !empty($forum_option[8]))
        
$new_connection mysql_connect($forum_option[6],$forum_option[7],$forum_option[8]);

    
$forum_option[5] = empty($forum_option[5]) ? '0' $forum_option[5];

    if (
$forum_option[0] == 'WBB 2.x')
    {
        
$forensql "SELECT threadid, topic AS headline, lastposter AS autor, lastposttime FROM ".$forum_option[3].".".$forum_option[4]."threads WHERE (visible = '1') && boardid NOT IN (".$forum_option[5].") ORDER BY lastposttime DESC, threadid DESC LIMIT 0, ".$forum_option[1];
        
$forum_data mysql_query($forensql$new_connection) or die(mysql_error());
        while (
$forum mysql_fetch_array($forum_data))
        {
            
$forum['url'] = $forum_option[2]."thread.php?threadid=".$forum['threadid'];
            
$forum['datum'] = date("d.m.y, H:i"$forum['lastposttime'])." Uhr";

            eval(
"\$forum_item = \"".addslashes(get_template("forum_lastposts_item"))."\";"); 
            
$forum_items .= stripslashes($forum_item);
        }
    }

    if (!empty(
$forum_option[6]) && !empty($forum_option[7]) && !empty($forum_option[8]))
        
mysql_close($new_connection);

    if (!empty(
$forum_items))
    {
        eval(
"\$forum_template = \"".addslashes(get_template("forum_lastposts"))."\";"); 
        
$forum_content stripslashes($forum_template);
    }
    else
    {
        
$forum_content '';
    }

    return 
$forum_content;

So. Also, wenn sowohl Host, Username und Passwort für eine externe Verbindung angegeben sind, wird diese aufgebaut. Danach werden die Beiträge ausgelesen und in ein Template eingefügt, wobei schon das erste Problem entsteht.
Die Datebank in der die Templates liegen ist natürlich die des Portals und nicht die des Forums.
Wenn dann alles ausgelesen ist, dann wird die Verbindung wieder geschlossen. Allerdings ist meine Portal-DB-Verbindung jetzt nicht mehr aktiv. Zu mindestens denke ich das, da ich vor und nach der Funktion ein "mysql_get_server_info()" gedumpt habe und nach Aufruf der Funktion war das Teil leer.
Dadurch entstehen massig Fehler, wie man sich denken kann ^^

Könnt ihr mir sagen, wie ich das lösen kann? Ich hab die Portal-DB-Verbindung schon in eine Variable gepackt, damit sie nicht bei "mysql_close()" aus Versehen mit geschlossen wird, aber das hat gar nichts gebracht.

Gr33tZ
Rn

Geändert von regsnerven (29.10.2009 um 15:41 Uhr).
regsnerven ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.10.2009, 17:04  
Benutzer
 
Registriert seit: 12.11.2008
Beiträge: 72
regsnerven befindet sich auf einem aufstrebenden Ast
Standard

hallö? Keiner ne Ahnung? Arbeitet ihr nicht mit mehreren bzw. externen Datenbanken?

Geändert von regsnerven (31.10.2009 um 17:10 Uhr).
regsnerven ist offline  
Alt 31.10.2009, 17:11  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Fast alle MySQL Funktionen besitzen einen optionalen Parameter für die Verbindungsresource.
Schau dir diesen Parameter mal an. Im deutschen Manual heißt er zumeist "resource $Verbindungs-Kennung" und im englischsprachigem "resource $link_identifier"

Man kann wohl erwarten, dass du mehr als 2 Stunden Geduld hast...
__________________
Frank ist offline  
Alt 31.10.2009, 17:50  
Benutzer
 
Registriert seit: 12.11.2008
Beiträge: 72
regsnerven befindet sich auf einem aufstrebenden Ast
Standard

Danke für deine Antwort und der Beitrag ist von vorgestern
Ja, das weiß ich ja. Aber ich will jetzt nicht mein ganzes Script durchgehen und da bei jedem Ding die Verbindung zu schreiben.

Wie sieht das eigentlich aus mit mysqli. Ist das taktisch klug das beides zu mischen? Also mysqli baut ja dann ne andere Verbindung auf, als mysql und deshalb wird die "alte" Verbindung ja nicht beeinflusst. Aber ich weiß nicht, ob man das so mischen sollte, oder ob das eher unschön ist.

Gr33tZ
Rn
regsnerven ist offline  
Alt 31.10.2009, 18:11  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Da alles über Resource Link Identifier läuft ist das egal. Du kommst nicht drum herum dein Script zu durchsuchen...
__________________
Frank ist offline  
Alt 31.10.2009, 18:28  
Benutzer
 
Registriert seit: 12.11.2008
Beiträge: 72
regsnerven befindet sich auf einem aufstrebenden Ast
Standard

Bitte über was läuft?

Hmm...sollte dann wohl besser mit ner DB-Klasse arbeiten, die könnte helfen, aber dann wird das noch umständlicher mit dem Umschreiben...
regsnerven ist offline  
Alt 31.10.2009, 18:46  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Da alles über Resource Link Identifier
Zitat:
Bitte über was läuft?
Liest Du eigentlich die Beiträge? Ich denke, "Du weißt"!

Zitat:
und im englischsprachigem "resource $link_identifier"
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 31.10.2009, 21:43  
Benutzer
 
Registriert seit: 12.11.2008
Beiträge: 72
regsnerven befindet sich auf einem aufstrebenden Ast
Standard

Immer wenn du deinen "Beitrag" zu einem Thema lieferst, greifst du einen an.

Ja, ich lese die Beiträge, aber ich habe es halt in dem Moment nicht verstanden und eine einfaches "das sind die Variablen, in die du deine Verbindung einspeicherst bzw. das was da drin steht" hätte auch gereicht.
Außerdem frage ich nur nach, damit ich nicht an den anderen vorbei rede und mir ganz sicher sein kann und dafür ist ein Forum schließlich gedacht.
regsnerven ist offline  
Alt 31.10.2009, 21:47  
Erfahrener Benutzer
 
Registriert seit: 07.06.2008
Beiträge: 992
PHP-Kenntnisse:
Fortgeschritten
Frank befindet sich auf einem aufstrebenden Ast
Frank eine Nachricht über ICQ schicken Frank eine Nachricht über MSN schicken Frank eine Nachricht über Yahoo! schicken
Standard

Er greift dich nicht an, er ist nur langsam genervt, dass hier keine (oder nur wenige) Benutzer Eigeninitiative zeigen. Das nervt halt langsam. Kann ich gut nachvollziehen.
__________________
Frank ist offline  
Alt 31.10.2009, 21:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

is klar..

Zitat:
Resource Link Identifier
Zitat:
resource $link_identifier
Zitat:
besitzen einen optionalen Parameter für die Verbindungsresource.
Zitat:
das sind die Variablen, in die du deine Verbindung einspeicherst
Welche Aussagen dürfen wir Dir denn noch so wiederholen? Soll ich einfach noch einmal alles per copy und paste hier posten?

Ich weiß auch nicht, was an
Zitat:
Du kommst nicht drum herum dein Script zu durchsuchen...
mißverständlich ist.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Hilfe: datenbank mappen und kopieren M*I*B Datenbanken 29 15.02.2012 21:55
Datenbank austauschbar machen durch Trennung von konkreter Implementierung Asipak PHP-Fortgeschrittene 10 04.09.2009 00:11
[Erledigt] Datei aus Datenbank in einen Ordner verschieben/kopieren Asipak PHP Tipps 2009 2 30.07.2009 12:09
[Erledigt] Im- / Export einer MySQL Datenbank amaier161 Datenbanken 5 19.07.2009 00:42
[Erledigt] Verbindung zur Datenbank ueber den Server taohi 100 PHP Tipps 2009 4 30.03.2009 13:27
Sql Datenbank durchsuchen und vergleichen Teambyte PHP Tipps 2006 5 14.09.2006 11:11
Klappmenü aus Datenbank PHP Tipps 2007 1 12.12.2005 15:02
Mehrere Anwendungen eine Datenbank... Datenbanken 5 15.08.2005 11:22
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:33
[Erledigt] mysql datenbank anlegen...aber WIE??? PHP Tipps 2005-2 0 05.08.2005 19:33
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:32
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:31
[Erledigt] mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29
mysql datenbank anlegen...aber WIE??? Datenbanken 0 05.08.2005 19:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
link_identifier, php ein ordner zurückspringen, html einen ordner zurückspringen, php datenbank update zurückspringen, in php ordner zurückspringen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:02 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum