CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |

07.08.2005, 19:44:00
|
Anfänger
|
|
Registriert seit: Jul 2005
Beiträge: 20
|
|
Script stellt nichts dar, wo ist der Fehler
Es geht um eine Erweiterung des phpBB. Ich habe vor, daß das Ergebnis einer Umfrage auf einer Seite angezeigt werden soll. Allerdings erscheint da nix, wahrscheinlich ziehe ich keine Werte aus der Datenbank. Kann jemand mal schnell drübergucken und mir den Fehler zeigen?
Code:
//schnipp
$vote = phpbb_fetch_poll_bt(56);
$sql = "SELECT vd.vote_id,
vd.vote_text,
vd.vote_start,
vd.vote_length,
vr.vote_option_id,
vr.vote_option_text,
vr.vote_result
FROM " . VOTE_DESC_TABLE . " vd,
" . VOTE_RESULTS_TABLE . " vr
WHERE vd.topic_id = $topic_id
AND vr.vote_id = vd.vote_id
ORDER BY vr.vote_option_id ASC";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain vote data for this topic", '', __LINE__, __FILE__, $sql);
}
if ( $vote_info = $db->sql_fetchrowset($result) )
{
$db->sql_freeresult($result);
$vote_options = count($vote_info);
$vote_id = $vote_info[0]['vote_id'];
$vote_title = $vote_info[0]['vote_text'];
$sql = "SELECT vote_id,
vote_user_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_id = $vote_id
AND vote_user_id = " . intval($userdata['user_id']);
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user vote data for this topic", '', __LINE__, __FILE__, $sql);
}
//schnapp
//schnipp
$vote_results_sum = 0;
for($i = 0; $i < $vote_options; $i++)
{
$vote_results_sum += $vote_info[$i]['vote_result'];
}
$vote_graphic = 0;
$vote_graphic_max = count($images['voting_graphic']);
for($i = 0; $i < $vote_options; $i++)
{
$vote_percent = ( $vote_results_sum > 0 ) ? $vote_info[$i]['vote_result'] / $vote_results_sum : 0;
$vote_graphic_length = round($vote_percent * $board_config['vote_graphic_length']);
$vote_graphic_img = $images['voting_graphic'][$vote_graphic];
$vote_graphic = ($vote_graphic < $vote_graphic_max - 1) ? $vote_graphic + 1 : 0;
if ( count($orig_word) )
{
$vote_info[$i]['vote_option_text'] = preg_replace($orig_word, $replacement_word, $vote_info[$i]['vote_option_text']);
}
$vote_percent_self = sprintf("%.1d%%", ($vote_percent * 100));
echo' <tr>
<td colspan="4">' . $vote_info[$i]['vote_option_text'] . '</td>
</tr>
<tr>
<td><img src="' . $phpbb_root_path . 'templates/AdInfinitum/images/vote_lcap.gif" width="4" alt="" height="12" ></td>
<td><img src="' . $phpbb_root_path . 'templates/AdInfinitum/images/voting_bar.gif" width="' . $vote_graphic_length . ' " height="12" alt="'. $vote_percent_self .'" ></td>
<td><img src="' . $phpbb_root_path . 'templates/AdInfinitum/images/vote_rcap.gif" width="4" alt="" height="12" ></td>
<td>' . $vote_percent_self . '</td>
</tr>';
//schnapp
Der Fehler muß wohl im ersten Teil liegen. Keine Ahnung wo.
Danke
EnzephaloN
|

07.08.2005, 19:47:15
|
 |
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Script stellt nichts dar, wo ist der Fehler
Könntest du das Script mal kommentieren, so dass man weiß, was in welcher Zeile passieren soll? Außerdem wäre es gut, wenn du den Quelltext innerhalb der PHP-Tags des Boards setzt.
|

07.08.2005, 20:56:07
|
Anfänger
|
|
Registriert seit: Jul 2005
Beiträge: 20
|
|
AW: Script stellt nichts dar, wo ist der Fehler
Sorry - mein Fehler.
Habs grad hinbekommen. Da waren Variablen falsch benannt. Und zwar müssen alle $vote_irgendwas... in $vote['options']... umbenannt werden.
Allerdings reißen meine Probleme nicht ab. Gerade habe ich anscheinend das Problem, daß die Abfrage ob der user schon abgestimmt hat nicht hinhaut:
PHP-Code:
$meine = $userdata['user_id'];
$sql = "SELECT vote_id,
vote_user_id
FROM " . VOTE_USERS_TABLE . "
WHERE vote_id = $vote_id
AND vote_user_id = $meine";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Could not obtain user vote data for this topic", '', __LINE__, __FILE__, $sql);
}
$user_voted = ( $row = $db->sql_fetchrow($result) ) ? TRUE : 0;
Nebenbei muß ich zugeben, daß ich nicht weiß wie das Script überhaupt an die user_id des gerade betrachtenden Users kommt.
Vielleicht hier?
PHP-Code:
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
EnzephaloN
Geändert von EnzephaloN (07.08.2005 um 21:01:09 Uhr)
|

07.08.2005, 21:38:40
|
Anfänger
|
|
Registriert seit: Jul 2005
Beiträge: 20
|
|
AW: Script stellt nichts dar, wo ist der Fehler
Ok, mal wieder lag der Fehler ganz woanders.
Sorry für den Streß den ich hier gemacht habe - ich gelobe Besserung.
Noch ein paar Tests und das Script ist fertig.
Am Ende kann man es auf jede Seite includieren um dort eine bestimmte Umfrage anzeigen zu können und auch abstimmen zu können.
EnzephaloN
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 07:57:52 Uhr.
|