Witam
Chce zrobić coś w rodzaju ulubionych.
Wygląd bazy danych:
login: | haslo: | ulubione: |
login1 | haslo1 | 001,004,008,159 |
login2 | haslo2 | 251,244,238 |
login3 | haslo4 | 051,034 |
login4 | haslo4 | |
login5 | haslo5 | 201,057,035,137,204,465 |
Skrypt do otwierania tych ulubionych już mam.
A chce teraz zrobić coś aby była możliwość dodawania i usuwania danych z kolumny ulubione. Każda trzy cyfrowa nazwa np.: 004 oznacza 1 dział, działy są oddzielone , (przecinkiem)
Dzięki z góry.
(dla wybranego rekordu)
<?php
//usuwanie
$ulubione = explode(',', $rekord['ulubione']);
$ulubione[] = $dodaj;
}
$do_zapisu = implode(',', $ulubione); ?>
Wielkie dzięki erix mogę dodawać ale jest problem z usuwaniem bo w linijce:
unset($ulubione, array_search($do_wywalenia, $ulubione);
wyświetla mi się taki błąd:
Fatal error: Can't use function return value in write context in F:\WebServ\httpd\ulubione.php on line 14
LUDZIE, ALE GAFA, SORY!
<?php
?>
zgubilem sie w nawiasach
Jeszcze raz wielkie dzięki erix ale mam jeszcze jedno pytanie. Mianowicie gdy ktoś już doda coś do tych ulubionych np.: 004 i potem doda jeszcze raz 004 to w bazie danych zostaje dodany podwójnie te same cyferki np.: 003,019,109,004,004 a jak można zrobić jakiś skrypt aby sprawdzał czy te cyferki się nie powtarzają?
zmodyfikuj ten kawałek kodu
<?php
$ulubione[] = $dodaj;
}
?>
na ten
<?php
$ulubione[] = $dodaj;
?>
Zmodyfikowałem to, ale wyświetla mi się taki błąd:
Warning: Wrong parameter count for strpos() in F:\WebServ\httpd\ulubione.php on line 37
<?php
$ulubione[] = $dodaj;
}
?>
em1X zjadl jeden parametr

(swoja droga, glodni dzisiaj jestesmy

)
poprawnie:
<?php
$ulubione[] = $dodaj;
}
?>
(zmienilem drugi warunek, patrz manual:
strpos" title="Zobacz w manualu php" target="_manual)
Ale to też jakoś nie działa bo dodaje mi dalej takie same. Skrypt wygląda tak:
Zapisywanie:
<?php
$konto = mysql_query("SELECT * FROM konta WHERE login = '".$_SESSION['login']."' AND haslo = '".$_SESSION['haslo']."' LIMIT 1");
if($db_kolumna) {
$db_dzielenie = explode(',', $db_kolumna);
$db_dzielenie[] = $dodaj;
}
$zapisz = implode(',', $db_dzielenie);
} else { $zapisz = $dodaj; }
mysql_query("UPDATE konta SET `ulubione` = '".$zapisz."' WHERE login = '".$_SESSION["login"]."' AND haslo = '".$_SESSION['haslo']."' LIMIT 1"); ?>
ale gafa

<?php
$db_dzielenie[] = $dodaj;
}
?>
mozna jeszcze za pomoca
array_search" title="Zobacz w manualu php" target="_manual
No teraz to elegancko działa dzięki erix. Ale jest jeszcze jeden problem tym razem z usuwaniem z ulubionych. A problem polega na tym że jak np kliknę aby usunęło mi np.: 004 i np odświeżę stronę lub podam taką cyfrę której nie ma w bazie to usuwa mi pierwsze 3 cyferki czyli jak mam w bazie: 000,001,005,127 i uruchomi się plik ulubione.php?do_wywalenia=004 którego nie ma w bazie to wychodzi coś takiego 001,005,127 Jak można temu zaradzić?
<?php
instrukcja_do_kasowania();
}
?>