php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.03.2007, 06:38  
Kein Genie
Gast
 
Beiträge: n/a
Standard DB Problem // Keine Daten werden ausgeben

Hallo,

ich habe ein kleines Problem bei einer meiner Ausgaben, und ich komme einfach nicht weiter.
Ich habe mit print_r() alles ausgeben lassen, die Abfrage in phpMyAdmin eingetragen wo sie wunderbar geklappt hat, nur, wenn ich die Abfrage im Script habe geht nichts mehr.
Und ich weiß nicht warum:

PHP-Code:
<?php
$topic_db 
"SELECT topic_id, author, views, topic_subject, poll, closed FROM board_topics WHERE board_id = '".$_GET['board_id']."' ORDER BY attached, date_new DESC LIMIT $offset,$limit";
        
$topic_data = new mysql($topic_db);
        
        
$result $topic_data -> select($topic_db);
        
        while(
$topic_out mysql_fetch_assoc($result))
        {    
            
$last_author "SELECT author FROM board_last_author WHERE topic_id = '".print_out($topic_out['topic_id'])."'";
            
$last_author_data= new mysql($last_author);
            
            
$result $last_author_data -> select($last_author);
        
            while(
$last_autor_out mysql_fetch_assoc($result))
            {
            
            
//Definition from Var
            
            
$icon_closed_topic '';
            
$icon_poll_topic '';
            
$author '---';
            
            if(
$topic_out['closed'] == '1'$icon_closed_topic "templates/$style_name/images/closed.gif";
            if(
$topic_out['poll'] == '1'$icon_poll_topic "templates/$style_name/images/umfrage.gif";
            if(isset(
$last_author_out['author'])) $author print_out($last_author_out['author']);    
            
            
$get_numbers_posts "SELECT id FROM board_post WHERE topic_id = '".print_out($topic_out['topic_id'])."'";
            
$numbers_posts = new mysql($get_numbers_posts);
                            
            
$tpl->assign("{topic_icon)"new_image_topics (print_out($topic_out['topic_id'])));
            
$tpl->assign("{topic_closed)"$icon_closed_topic);
            
$tpl->assign("{topic_poll}"$icon_poll_topic);
            
$tpl->assign("{topic_link}"'index.php?topic_id='.print_out($topic_out['topic_id']).'');
            
$tpl->assign("{topic_name}"print_out($topic_out['topic_subject']));
            
$tpl->assign("{topic_author}"print_out($topic_out['author']));
            
$tpl->assign("{topic_posts}"$numbers_posts -> get_numbers($get_numbers_posts));
            
$tpl->assign("{topic_views}"print_out($topic_out['views']));
            
$tpl->assign("{topic_last}"$author);

            
$tpl->assign("{icon_unread}"$icon_unread);
            
$tpl->assign("{icon_read}"$icon_read);
            
$tpl->assign("{icon_poll}"$icon_poll);
            
$tpl->assign("{icon_closed}"$icon_closed);
                    
            unset(
$author,$topic_out['topic_id']);
        }}
?>
Also es geht um die Variable $last_author_out['author'].
In der Datenbank steht auch ein Letzter Autor der mit bei der Abfrage direkt in phpMyAdmin auch ausgeben wird.
Hier im Script wird mir aber immer --- ausgeben, was ich ja vorher deklariert habe.
Und das verstehe ich nicht.
Ich bekomme auch keine Fehlermeldung nichts.
Und bei print_r() wird mir auch nichts ausgeben, obwohl Daten enthalten sein müssten

Bitte, ich weiß nicht mehr weiter, woran happerts?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.03.2007, 10:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Fang doch endlich mal an zu debuggen, wenn du nicht vorankommst, anstatt immer gleich hier im Forum zu posten.

Zitat:
$result = $topic_data -> select($topic_db);
while($topic_out = mysql_fetch_assoc($result))
{
// ..
$result = $last_author_data -> select($last_author);
while($last_autor_out = mysql_fetch_assoc($result)) {
Zergling-new ist offline  
Alt 18.03.2007, 10:39  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Kein Genie,

erstmal ist soetwas wirklich sehr unsauber:

PHP-Code:
<?php

$topic_data 
= new mysql($topic_db);

[..]

$last_author_data= new mysql($last_author);
?>
Hier solltest du entweder nur eine Instanz der Klasse innerhalb des Skriptes deklarieren oder mit dem Singleton-Pattern arbeiten. Was jedoch offensichtlich schlimmer ist: deine MySQL-Klasse muss immer mit einem Statement initialisiert werden. Das ist unsauber. Zudem frage ich mich, warum du eine MySQL-Klasse verwendest und dann trotzdem noch

Zitat:
mysql_fetch_assoc()
verwendest?!

Aber nun zum Thema:
Lass dir mal in der while-Schleife

Zitat:
while($last_autor_out = mysql_fetch_assoc($result))
{
die kompletten Variablen mit print_r($last_autor_out) ausgeben und poste das mal. Evtl. löst du die Schachtelung mit JOINs auf, das ist dann einfacher. HIerzu bräuchte ich aber dein Tabellen-Layout.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


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
Große Mengen Daten auf Drucker ausgeben Wolla PHP Tipps 2008 6 13.07.2008 15:29
Daten in Tabelle ausgeben Morientes PHP Tipps 2006 2 03.04.2006 11:53
Serverumzug - Problem mit MySQL Daten [GE]ReeN Datenbanken 6 28.03.2006 17:02
MySQL Daten in sichtbarer Tabelle ausgeben PHP Tipps 2006 6 14.03.2006 14:33
Daten in neuer Seite ausgeben PHP Tipps 2006 5 20.02.2006 21:47
dateien ausgeben kein Problem - ABER! dsmcg PHP Tipps 2005-2 9 22.10.2005 19:59
Daten in einem Dropdownmenü ausgeben CHRIS PHP Tipps 2005-2 9 27.07.2005 23:11
mysql daten ohne html formatierung ausgeben wizzardxx PHP Tipps 2005 2 28.03.2005 00:56
Daten aus DB gruppiert ausgeben?! medico PHP Tipps 2005 9 07.01.2005 09:38
Problem bei Script Formular Daten und Baum PHP Tipps 2004 1 27.09.2004 23:19
nl2br Problem, gibt keine Daten aus... niffi PHP Tipps 2004 2 16.09.2004 10:40
highscore-msql daten in php ausgeben PHP Tipps 2004 4 14.09.2004 18:41
Daten aus der Datenbank adieren und ausgeben PHP Tipps 2004 4 25.08.2004 20:05
Daten ausgeben PHP Tipps 2004 3 25.08.2004 14:14
Locales PHP Problem Formular Daten PHP Tipps 2004 6 11.06.2004 15:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:39 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.