Próbowa?em napisa? skrypt "ulubione" do moda z filmikami. W moich planach jest to aby ka?dy móg? sobie te ulubione sortowa? i ustawa? jak mu si? podoba i w?a?nie to nie dzia?a.
Zrobi?em takie co?:
W kolumnie ulubione_who - znajduje si? nazwa u?ytkownika (czyje to jest)
ulubione_what - adres do filmiku ulubionego
ulubione_kolej - kolejno?? wyswietlania
kod dodawania do ulubionych:
<?php
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }
if (iMEMBER) {
$adres = "http://strona.net/".FUSION_SELF."?cat_id=".$cat_id."&film_id=".$film_id;
if($_POST["send"]==1){ //sprawdzanie czy formularz zosta? wys?any jesli tak to doda
$queryk = mysql_query("SELECT `ulubione_kolej` FROM `fusion_ulubione` ORDER BY `ulubione_kolej` DESC");
$kolej = mysql_fetch_array($queryk);
$koleja = $kolej[0]+1;
$resulta = dbquery("insert into fusion_ulubione values(NULL, '".$userdata['user_name']."', '$adres', '$koleja');");
echo "$resulta";
header('location: '.$adres.'');
}
if($_POST["sendx"]==1){ //sprawdzanie czy formularz zosta? wys?any - usunie
$resultax = dbquery("DELETE FROM fusion_ulubione WHERE ulubione_who='".$userdata['user_name']."' and ulubione_what='$adres';");
echo "$resultax";
header('location: '.$adres.'');
}
$result = dbquery("select * from fusion_ulubione where ulubione_who='".$userdata['user_name']."' and ulubione_what='$adres'");
if(dbrows($result) != 0){
echo "<form action='$adres' method=post>
<input type=hidden name=adresx value='$adres'>
<input type=hidden value='1' name=sendx>
<input type=submit value='Usu? z ulubionych'>
</form>";
}
else{
echo "
<form action='$adres' method=post>
<input type=hidden name=adres value='$adres'>
<input type=hidden value='1' name=send>
<input type=submit value='Dodaj do ulubionych'>
</form>
";
}
} else {
echo "Zaloguj si?, aby widzie? wi?cej opcji<br><br>";
}
?>
Kod ustawiania kolejno?ci ulubionych (edit_ulubione.php): to ten nie dzia?a... :/ jest dobry ale dla jednego usera ale nie kilku...
<?php
if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }
if (iMEMBER) {
$nr=1;
$res = mysql_query('SELECT MAX(ulubione_kolej) FROM fusion_ulubione');
$row = mysql_fetch_array($res);
$maxpos = $row[0];
if(isset($_GET['pos'])) {
$id = $_GET['id'];
$pos = $_GET['pos'];
$newpos = $_GET['newpos'];
mysql_query('UPDATE fusion_ulubione SET ulubione_kolej = '.$pos.' WHERE ulubione_kolej = '.$newpos.'');
mysql_query('UPDATE fusion_ulubione SET ulubione_kolej = '.$newpos.' WHERE id = '.$id.'');
header('Location: edit_ulubione.php');
exit;
}
else {
$res = mysql_query("SELECT * FROM fusion_ulubione WHERE ulubione_who='".$userdata['user_name']."' ORDER BY ulubione_kolej ASC");
while($row = mysql_fetch_array($res)) {
$pos = $row['ulubione_kolej'];
$id = $row['id'];
$ktory = substr ($row['ulubione_what'] , 51);
$queryf = mysql_query("SELECT `film_subject`, `film_miniaturka` FROM `fusion_film` WHERE `film_id`='$ktory'");
$play = mysql_fetch_array($queryf);
echo "<table style='margin-left:50px;'>
<tr>
<td> $nr. ";
$nr++;
echo "".$play['film_subject']."</td>
<td width='40' align='center'> =></td><td>";
if($pos == 1) echo '<a href="edit_ulubione.php?id='.$id.'&pos='.$pos.'&newpos='.($pos+1).'">w dó?</a>';
else if($pos == $maxpos) echo '<a href="edit_ulubione.php?id='.$id.'&pos='.$pos.'&newpos='.($pos-1).'">w gór?</a>';
else {
echo '<a href="edit_ulubione.php?id='.$id.'&pos='.$pos.'&newpos='.($pos+1).'">w dó?</a> |';
echo ' <a href="edit_ulubione.php?id='.$id.'&pos='.$pos.'&newpos='.($pos-1).'">w gór?</a>';
}
echo '</td>
</tr>
</table><hr>';
}
}
} else {
echo "Zaloguj si?";
}
?>
Prosz? o pomoc lub poprawienie tego co jest ?le... kod dzia?a poprawnie dla jednego usera ale jak jest kilku to s? problemy z ustawieniem kolejno?ci.
ps. php dopiero si? ucz? - przeczyta?em jeden kurs w internecie i napisa?em to co wida?... ;)
EDIT:
Ju? wiem... hehe... zapomnia?em o jednym warunku (wiedzia?em, ?e ma by? ale jak pisa?em to zapomnia?em ;)).
Ju? jest dobrze. Wystarczy?o doda?:
ulubione_who='".$userdata['user_name']."' w czasie dodawania do ulubionych i do zmiany po?o?enia na li?cie.
Mo?e si? komu? to przyda.
G?upi b??d, a? wstyd... :D
PW od moderatora:
- Zmiana nazwy tematu - Pieka 12.08 - 11:20
Edytowane przez Mazter dnia 16.08.2008 13:11:11
|