Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+mysql] Nr pozycji w tabeli
Amorph
post
Post #1





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


Witam serdecznie.
Nie potrafie rozwiązać problemu.
Kiedy dopisuję do tabeli nową wartość, soruję tabelę wg. jakiejś zmiennej.
Jak odczytać którą pozycję zajmuje mój nowy wpis po posortowaniu tabeli... ?
Z góry dziękuję za pomoc.
Go to the top of the page
+Quote Post
tomekp
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Krakół

Ostrzeżenie: (0%)
-----


Musisz pobrać numer id według wpisów które dodałeś do bazy, innego sposobu chyba nie ma.
Go to the top of the page
+Quote Post
Amorph
post
Post #3





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


Mam takie zapytanie:
  1. <?php
  2. $zapytanie = 'SELECT COUNT(id) FROM tabela WHERE Ilosc >= (SELECT Ilosc FROM tabela WHERE Imie LIKE 'xxx')';
  3. ?>

Co daje mi poprawny wynik. Jednakze jak to wyswietlic w php.
Zaznaczam ze jestem raczkujący więc proszę o wyrozumiałość.
  1. <?php
  2. $wynik = mysql_query($zapytanie);
  3. ?>

co dalej aby efekt koncowy byl mniej wiecej taki:
  1. <?php
  2. echo "twoje miejsce w tabeli:" . $miejsce;
  3. ?>

Z Góry Dziękuję Za Pomoc.

Ten post edytował Amorph 7.06.2006, 22:35:16
Go to the top of the page
+Quote Post
-Gość-
post
Post #4





Goście







  1. <?php
  2. $zapytanie = 'SELECT COUNT(id) FROM tabela WHERE Ilosc >= (SELECT Ilosc FROM tabela WHERE Imie LIKE 'xxx')';
  3. $wynik = mysql_query($zapytanie);
  4. $miejsce=mysql_fetch_array($wynik); 
  5. echo "twoje miejsce w tabeli:" . $miejsce['COUNT(id)'];
  6. ?>
Go to the top of the page
+Quote Post
Amorph
post
Post #5





Grupa: Zarejestrowani
Postów: 309
Pomógł: 0
Dołączył: 6.06.2006
Skąd: include('root/europe/ poland/szczecin.php');

Ostrzeżenie: (0%)
-----


Alleluja.
Bardzo dziękuję za pomoc.
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


  1. <?php
  2. $s='XXX';
  3. $zapytanie = 'SELECT COUNT(id) FROM tabela WHERE Ilosc >= (SELECT Ilosc FROM tabela WHERE Imie LIKE $s)';
  4. $wynik = mysql_query($zapytanie);
  5. $miejsce=mysql_fetch_array($wynik);
  6. echo "twoje miejsce w tabeli:" . $miejsce['COUNT(id)'];
  7. ?>

Zamiana imienia na zmienna powoduje wyswietlanie takiego komunikatu:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Mam błąd:
  1. <?php
  2. $s="XXX";
  3. $zapytanie = "SELECT COUNT(id) FROM tabela WHERE Ilosc >= (SELECT Ilosc FROM tabela WHERE Imie LIKE ""$s"")";
  4. ?>


Jeszcze raz dzieki za pomoc.

Ten post edytował Amorph 7.06.2006, 23:20:07
Go to the top of the page
+Quote Post
mario
post
Post #6





Grupa: Zarejestrowani
Postów: 186
Pomógł: 0
Dołączył: 23.09.2003
Skąd: Siemianowice Śląskie

Ostrzeżenie: (0%)
-----


Cytat(Amorph @ 7.06.2006, 21:52 ) *
Witam serdecznie.
Nie potrafie rozwiązać problemu.
Kiedy dopisuję do tabeli nową wartość, soruję tabelę wg. jakiejś zmiennej.
Jak odczytać którą pozycję zajmuje mój nowy wpis po posortowaniu tabeli... ?
Z góry dziękuję za pomoc.


proponuje dodac kolumne id do tabeli - pewnie bedziesz juz ja miec :-)

Nowo dodany wpis bedzie miec id ktore Ci zwroci MySQL:

  1. $id_dodane = mysql_insert_id();


majac id wprowadzonego rekordu mozesz sobie sortowac, i nie musisz wykonywac znowy niepotrzebnych zapytan do bazy w poszukiwaniu pozycji swojego rekordu.

poczytaj mysql_insert_id
Go to the top of the page
+Quote Post
babejsza
post
Post #7





Grupa: Zarejestrowani
Postów: 407
Pomógł: 1
Dołączył: 4.03.2003
Skąd: warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $s="XXX";
  3. $zapytanie = "SELECT COUNT(id) FROM tabela WHERE Ilosc >= (SELECT Ilosc FROM tabela WHERE Imie LIKE '$s')";
  4. ?>


A tak na prawdę jeżeli nie wykonujesz poprzez LIKE żadnego porównania to powinno to wyglądać tak:

  1. <?php
  2. $s="XXX";
  3. $zapytanie = "SELECT COUNT(id) FROM tabela WHERE Ilosc >= (SELECT Ilosc FROM tabela WHERE Imie='$s')";
  4. ?>


Ten post edytował babejsza 16.06.2006, 09:56:27
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 14:08