romy: Nein, sowas!

Beitrag lesen

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;
}