Armes Mädchen!! :-(
Gib doch mal was von Deinem PHP-Quellcode her. Sonst kann ja keiner helfen!
aber mich nicht anmaulen, wenn unübersichtlich ist...ich vertrage heute nur noch geringe Kritik
*g*
willst du da wirklich durchblicken...? RESPEKT
also the problem is: wenn ich den Button(der jetzt wie ein Link aussieht hihihi) neben einer selectbox anklicke, sollten die werte offset, wid, wieder an das gleiche Script übertragen werden...
offset ist auch da, $wid auch...bei meinem echo am Anfang gibt er mir den richtigen wert, ändert aber das falsche ... ???
irgendwie komisch,
(warum ich das $wid in der function übergebe anstatt global hat gründe die ich nicht verstehe, aber es war zumindest vorher kein Problem
wenn ich es global mache, hat die variable ${"vote".$wid} keinen Wert
bei Fragen bitte vertrauensvoll an mich wenden
danke danke danke romy
MarkX.
//*********function rating ************************************//
function rating1($wid) {
global $PHP_SELF, ${"vote".$wid}, $offset, $user_tk, $screenshot_tk, $rating_tk, $vote_tk, $text_screenshot, $pfad,
$seite, $alle_daten;
echo $wid."<br>".${"vote".$wid};
// +++ limit der maxiaml angezeigten einträge festlegen ++++++++
$limit = 5;
// +++ Connection zur Datenbank aufbauen ++++++++
$connect = db_connect();
// +++ wenn neues Rating erfolgt ist, trage es in die DB ein ++++++++
if(${"vote".$wid}) {
$sql_insert = "INSERT INTO rating(wid,ip,rating,deleted) VALUES(".$wid.",'192.168.1.".$wid."',".${"vote".$wid}.",'f')";
$result_insert = pg_exec($connect, $sql_insert);
// +++ lösche Daten aus Datanarray, wenn sie verbraucht sind +++++
if(isset($alle_daten)) {
foreach ($alle_daten as $key => $value) {
if(($key != "wid") && ($key != ${"vote".$wid})) {
$daten[$key] = $value;
}
}
$alle_daten = $daten;
}
}
// +++ sql-string um die relevanten einträge anzuzeigen ++++++++
$sql = "select r.rid, w.wid, r.nachname, r.vorname, w.url, avg(ra.rating) as rating, count(ra.rating) as votes "
."from registrant r, website w, rating ra where r.rid = w.rid and w.wid = ra.wid and w.anzeigen = 't'"
."and w.deleted='f' group by r.rid, "
."w.wid, r.nachname, r.vorname, w.url union select r.rid, w.wid, r.nachname, r.vorname, w.url, 0,"
."0 from registrant r, website w where r.rid = w.rid and w.anzeigen = 't' and w.deleted='f' and not exists "
."(select * from rating ra where w.wid = ra.wid)";
// +++ abschicken des sql-Befehles ++++++++
$result = pg_exec($connect, $sql);
// +++ Anzahl der anzuzeigenden Einträge bestimmen ++++++++
$webcount = pg_numrows($result);
// +++ ist offset-Variable schon vergeben worden ++++++++
if(empty($offset)) $offset=0;
// +++ sql-string mit der gewünschten Anzahl an Einträgen selektieren ++++++++
$sql = "select r.rid, w.wid, r.nachname, r.vorname, w.url, avg(ra.rating) as rating, count(ra.rating) as votes "
."from registrant r, website w, rating ra where r.rid = w.rid and w.wid = ra.wid and w.anzeigen = 't'"
."and w.deleted='f' group by r.rid, "
."w.wid, r.nachname, r.vorname, w.url union select r.rid, w.wid, r.nachname, r.vorname, w.url, 0,"
."0 from registrant r, website w where r.rid = w.rid and w.anzeigen = 't' and w.deleted='f' and not exists "
."(select * from rating ra where w.wid = ra.wid) order by rating desc limit $limit offset $offset";
// +++ result holen ++++++++
$result = pg_exec($connect, $sql);
$count = pg_numrows($result);
// +++ Anzeigen der Einträge +++++++++
?>
<table border=1 width=100%>
<form name="rating" action="<?echo check_link("fenster3.php?", $seite);?>action3=rating1" method=post>
<tr>
<th><?=$screenshot_tk?></th>
<th width=15><?=$user_tk?></th>
<th width=10><?=$rating_tk?></th>
<th><?=$vote_tk?></th>
</tr>
<?
for ($i=0; $i<$count; $i++) {
$row=pg_fetch_array($result, $i);
if($i % 2 == 0) {
$fieldclass = "FG2";
} else {
$fieldclass = "FG1";
}
?>
<tr>
<td class=<?=$fieldclass?> align=center><?
$sql_u = "Select * from upload where wid=".$row["wid"];
$result_u = pg_exec($connect, $sql_u);
$count_u = pg_numrows($result_u);
if($count_u) {
$row_u = pg_fetch_array($result_u,0);
echo "<a href='http://".$row["url"]."' target='_blank' title='".$row["url"]."'><img src='".$pfad."screenshot/".$row_u["screenshot"]."' width=100 height=80>";
echo "<br>".shortstring($row["url"]);
}else {
echo "<a href='http://".$row["url"]."' target='_blank' title='".$row["url"]."'><img src="".$pfad."screenshot/default.jpg" width=100 height=80>";
echo "<br>".shortstring($row["url"]);
}
?></td>
<td valign=top class=<?=$fieldclass?>><?=$row["nachname"].", ".$row["vorname"]?></td>
<td valign=top class=<?=$fieldclass?>><?echo roundoff($row["rating"],2)." (".$row["votes"].")";?></td>
<td valign=top class=<?=$fieldclass?> align=right>
<?=returnVoteBox("vote".$row["wid"])?>
<input type="hidden" name="wid" value="<?=$row["wid"]?>">
<input type="hidden" name="offset" value="<?=$offset?>">
<input class="linkbutton" type="submit" value=">>vote">
</td>
</tr>
<?}
?><tr><td colspan=5 align=right><?
// +++ Anzeigen des prev-buttons +++++++++
if($offset>0) {
$prevoffset=$offset-$limit;
print "<a href="".check_link("fenster3.php?",$seite)."action3=rating1&offset=$prevoffset">PREV</a> \n";
}
// +++ errechnen wieviele Seiten es werden und anzeigen derselben +++++++++
$pages=intval($webcount/$limit);
if ($webcount%$limit) {
$pages++;
}
for ($i=0;$i<$pages;$i++) {
$newoffset=$limit*($i);
if($pages>1) {
if(($offset/$limit) == ($i)) {
echo " ".($i+1)." \n";
} else {
echo "<a href="".check_link("fenster3.php?",$seite)."action3=rating1&offset=$newoffset">";
echo ($i+1)."</a> \n";
}
}
}
// +++ ist letzte Seite oder nicht +++++++++
if ($offset <= ($webcount-$limit) && $pages>1) {
$newoffset=$offset+$limit;
print "<a href="".check_link("fenster3.php?",$seite)."action3=rating1&offset=$newoffset">NEXT</a><p>\n";
}
?>
</td></tr>
</form>
</table>
<?
}
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++ voteBox-Ausgabe +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
function returnVoteBox($name) {
$returnString = '<select name="'.$name.'" size=1>';
for ($i=1; $i<=9; $i++)
$returnString.='<option value='.$i.'>'.$i;
$returnString.='<option value="10" selected>10</select>';
return $returnString;
}