Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

Problem z odejmowaniem dni

php

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 PYRDYS

    Pomocny

  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:66
  • Lokalizacja:Brzuśnik
Offline

Napisano 15.03.2015 11:28

Witam, Mam problem . Otóż mam taki kod:

$zapytanie = mysql_query("SELECT pozostalo_dni FROM uslugi");
$wynik_zapytania = mysql_fetch_array($zapytanie);
$pozostalo_dni = $wynik_zapytania[0];
if($pozostalo_dni >= 1)
{
$zmiendni = $pozostalo_dni - 1;
mysql_query("UPDATE uslugi SET pozostalo_dni = '$zmiendni'");
echo "-1 dzień !";
}
else
{
mysql_query("DELETE FROM uslugi WHERE pozostalo_dni = '0'");
//echo "Usunięto rekordy z wartością pozostalo_dni = 0";
}

I ten problem polega na tym że mam w tabeli uslugi rekordy co mają np. pozostalo_dni = 4, pozostalo_dni = 5 itd itd. A jak mi usuwa ten jeden dzień z nich . To ustawia mi wszystkie na np. 4 zamiast z każdego usunąć po jednym.

 

Rekordy w tabeli:

pozostalo_dni = 6
pozostalo_dni = 5
pozostalo_dni = 4

A wygląda to tak po odjęciu jednego dnia:

pozostalo_dni = 4
pozostalo_dni = 4
pozostalo_dni = 4

A powinno tak:

pozostalo_dni = 5
pozostalo_dni = 4
pozostalo_dni = 3

Prosiłbym o pomoc. Z góry dzięki.


  • +
  • -
  • 0

#2 wiwi249

    Wszechobecny

  • Użytkownik

Reputacja: 150
Profesjonalista

  • Postów:440
  • GG:
  • Imię:Wiktor
  • Lokalizacja:Tarnobrzeg
Offline

Napisano 15.03.2015 11:30

Znowu powtarza sie historia z wczoraj. Wyciągnij wnioski i przeczytaj swój kod jeszcze raz. Ustawiasz $zmiendni tylko raz na podstawie tylko jeden wartości pobranej z bazy danej minus 1 i ustawiasz ją wszystkim. Jak chcesz to osiągnąć?


  • +
  • -
  • 0

Wykonuję strony internetowe, zlecenia AMXX i HLDS - w tym pisanie pluginów, ogarnianie serwerów, edycja i tworzenie modeli.

Potrzebujesz czegoś? Pisz!

 

"śpieszmy się pisać posty, tak szybko banują..." ~ sebul


#3 KochamFootball

    Profesjonalista

  • Użytkownik

Reputacja: 27
Życzliwy

  • Postów:222
  • Lokalizacja:Poland
Offline

Napisano 15.03.2015 11:31

Błąd podstawowy nr 1:

$zapytanie = mysql_query("SELECT pozostalo_dni FROM uslugi");
$wynik_zapytania = mysql_fetch_array($zapytanie);
$pozostalo_dni = $wynik_zapytania['pozostalo_dni'];

ponadto radzę użyć pętli i zapytania WHERE `id` = ''; ;)


Użytkownik KochamFootball edytował ten post 15.03.2015 11:32

  • +
  • -
  • 1

Gdzie moje ciastka?


#4 PYRDYS

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:66
  • Lokalizacja:Brzuśnik
Offline

Napisano 15.03.2015 11:39

$result = mysql_query("SELECT * FROM uslugi");
while($wiersz = mysql_fetch_array($result))
{
    $pozostalo_dni = $wiersz['pozostalo_dni'];
    if($pozostalo_dni >= 1)
    {
        $zmiendni = $pozostalo_dni - 1;
        mysql_query("UPDATE uslugi SET pozostalo_dni = '$zmiendni'");
        echo "-1 dzień !";
    }
    else
    {
        mysql_query("DELETE FROM uslugi WHERE pozostalo_dni = '0'");
        echo "Usunięto rekordy z wartością pozostalo_dni = 0";
    }
}
Mam takie coś i co dalej ? Co tu zmienić, dodać lub usunąć ?
  • +
  • -
  • 0

#5 KochamFootball

    Profesjonalista

  • Użytkownik

Reputacja: 27
Życzliwy

  • Postów:222
  • Lokalizacja:Poland
Offline

Napisano 15.03.2015 11:48

Zastosuj i sprawdź :)


  • +
  • -
  • 0

Gdzie moje ciastka?


#6 PYRDYS

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 23
Życzliwy

  • Postów:66
  • Lokalizacja:Brzuśnik
Offline

Napisano 15.03.2015 11:50

$result = mysql_query("SELECT * FROM uslugi");
while($wiersz = mysql_fetch_array($result))
{
    $pozostalo_dni = $wiersz['pozostalo_dni'];
    $id = $wiersz['id'];
    if($pozostalo_dni >= 1)
    {
        $zmiendni = $pozostalo_dni - 1;
        mysql_query("UPDATE uslugi SET pozostalo_dni = '$zmiendni' WHERE id = '$id'");
        echo "-1 dzień !";
    }
    else
    {
        mysql_query("DELETE FROM uslugi WHERE pozostalo_dni = '0'");
        echo "Usunięto rekordy z wartością pozostalo_dni = 0";
    }
}  

 

Zrobiłem takie coś i wiecie co . Ja już nie wiem xD Ale podziękowania chyba już niedługo nie będą starczać xD Hehe ;) Dzięki. w końcu sie naucze nie robić aż tak oczywistych błędów ;) Ale dzięki wielkie panowie.


  • +
  • -
  • 0

#7 KochamFootball

    Profesjonalista

  • Użytkownik

Reputacja: 27
Życzliwy

  • Postów:222
  • Lokalizacja:Poland
Offline

Napisano 15.03.2015 12:56

Postawisz browara jak się spotkamy za kilka lat i tyle :D


  • +
  • -
  • 0

Gdzie moje ciastka?






Również z jednym lub większą ilością słów kluczowych: php

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych