![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Problem jest następujący:
Wyświetlić zawartość rekordu, dla którego wartość w jednej z kolumn jest największa. Inaczej: znaleźć rekord z maksymalną wartością i wyświetlić. Użyłem kodu: [php:1:7f1580520e]<?php $nowe="select MAX(date) from baza.tabela"; $nowe_do=mysql_query($nowe); while($wiersz = mysql_fetch_array($nowe_do)) { print($wierdz['who']); } ?>[/php:1:7f1580520e] Ale oczywiście nie działa. ![]() mysql 3.23.54a php 4.2.2 Będę wdzięczny za wskazówki -------------------- Nie ma nic stałego prócz zmiany...
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
[php:1:2109c0dca9]<?php
$nowe="SELECT * FROM baza.tabela ORDER BY date DESC LIMIT 1"; $nowe_do=mysql_query($nowe) or die(mysql_error()); while($wiersz = mysql_fetch_row($nowe_do)) { // costam } ?>[/php:1:2109c0dca9]Może tak? -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Może tak?
Tak, to działa jak sobie życzyłem, ale zależało mi na wyciągnięciu zmiennej na zewnątrz, żeby później móc wydrukować wszystko, co ma wartość mniejszą. A tu już chyba limit mi nie pomoże? A może się mylę? Generalnie dochodzę do wniosku, ze za bardzo przekombinowałem przy wymyślaniu jak to zrobić, ale nadal nurtuje mnie myśl: Czy mogę tą wartość MAX(date) przypisać zmiennej php-owej i używać jej później w skrypcie? -------------------- Nie ma nic stałego prócz zmiany...
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
[php:1:956ee3fc2c]<?php
$nowe="SELECT MAX(date) FROM baza.tabela"; $nowe_do=mysql_query($nowe) or die(mysql_error()); $wiersz = mysql_fetch_row($nowe_do); // bez while bo to jeden wiersz print($wiersz['MAX(date)']); ?>[/php:1:956ee3fc2c] -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat [php:1:c12fa5e6d4]<?php
$nowe="SELECT MAX(date) FROM baza.tabela"; $nowe_do=mysql_query($nowe) or die(mysql_error()); $wiersz = mysql_fetch_row($nowe_do); // bez while bo to jeden wiersz print($wiersz['MAX(date)']); ?>[/php:1:c12fa5e6d4] To niestety zwraca pusty string. To chyba przez średnik w linii 4. Ale bez średnika i while wywala się. Ale dzięki Twoim sugestiom wpadłem na właściwy trop. Nie wiem, czy najwłaściwszy, ale działa jak chciałem: [php:1:c12fa5e6d4]<?php $nowe="SELECT * FROM kfd.sem order by date desc LIMIT 1 "; $nowe_do=mysql_query($nowe); while($wiersz = mysql_fetch_array($nowe_do)) { $zmienna=($wiersz['date']); } print($zmienna); $test="select * from kfd.sem where date='$zmienna'"; $test_do=mysql_query($test) or die(mysql_error()); while($wiersz = mysql_fetch_array($test_do)) { print $wiersz['topic']; } ?>[/php:1:c12fa5e6d4] ale musi być koniecznie mysql_fetch_array, a nie mysql_fetch_row, nie wiem czemu. Gdyby jednak ktoś miał propozycję usprawnienia, to będę zobowiązany. -------------------- Nie ma nic stałego prócz zmiany...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 560 Pomógł: 0 Dołączył: 15.07.2003 Skąd: Kwidzyn Ostrzeżenie: (0%) ![]() ![]() |
nie rozumie po co ci te kolejne zapytanie skoro dotyczy tego samego
![]() skoro zapytanie brzmi [sql:1:9bf9c2107d]SELECT * FROM kfd.sem order by date desc LIMIT 1[/sql:1:9bf9c2107d] to pobierane sa wszystkie pola (rekordy) gdzie spelniony jest warunek lub gdzie odpowiada zapytaniu w tym przypadku sortowane sa za pomoca zmiennej date i pobierany 1 z najwieksza wartoscia, znaczek * informuje ze chcesz pobrac wszystkie nie tylko date wiec te zapytanie ponizej jest niepotzrbne bo i tak wszystko masz juz w tablicy $wiersz tak powinno dzialac: [php:1:9bf9c2107d]<?php $nowe="SELECT * FROM kfd.sem ORDER BY date DESC LIMIT 0,1 "; $nowe_do=mysql_query($nowe) or die(mysql_error()); while($wiersz=mysql_fetch_array($nowe_do)) { print $wiersz['topic']; } ?>[/php:1:9bf9c2107d] |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 245 Pomógł: 0 Dołączył: 9.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat nie rozumie po co ci te kolejne zapytanie skoro dotyczy tego samego
![]() skoro zapytanie brzmi Gdyby chodziło tylko o to, nie byłoby pytania na forum. Napisałem wyżej, że zmienna z rekordu, w którym jest MAX(date) jest mi potrzebna później, aby móc wykorzystać ją w innych zapytaniach. Stąd cały problem, już, jak napisałem, rozwiązany. Kluczowy jest wiersz 6 w moim kodzie. Reszta faktycznie bez sensu, ale to już nie jest istotne. Dzięki za zainteresowanie ![]() -------------------- Nie ma nic stałego prócz zmiany...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.07.2025 - 07:18 |