Womit kann man den ersten von n Treffern ansprechen?

Womit kann man den ersten von n Treffern ansprechen?

am 02.12.2004 03:46:58 von j_wenke

Hallo,
ich wollte dem ersten von einigen, auf einer
Seite angezeigten Datensätzen etwas zuweisen.
Wie kann man am besten "die 1 bzw. 0" ansprechen?
"Einfach" den ersten als solchen deklarieren
und der Rest ist eigentlich egal.

letzter Stand, bei if:
.....................
if ($vw = mysql_fetch_assoc($resultID)){
do {
if (count($vw) == 1) {
$visible = "visible";
} else {
$visible = "hidden";
}
echo
.....................

Danke für Tips, Jörg

Re: Womit kann man den ersten von n Treffern ansprechen?

am 02.12.2004 04:11:13 von Niels Braczek

j wenke schrieb:
^^^^^^^
Ist das so schwer, hier 'Jörg Wenke' einzutragen?

> ich wollte dem ersten von einigen, auf einer
> Seite angezeigten Datensätzen etwas zuweisen.
> Wie kann man am besten "die 1 bzw. 0" ansprechen?
> "Einfach" den ersten als solchen deklarieren
> und der Rest ist eigentlich egal.

Lies den ersten Satz einfach getrennt aus.

$result = mysql_query(...) or die(...);

if ($firstRow = mysql_fetch_assoc($result)) {
// mach was
}

while ($nextRow = mysql_fetch_assoc($result)) {
// mach was anderes
}

MfG
Niels

--
'Geht nicht' gibt's nicht.
Es gibt nur ein 'Lohnt nicht'. [Niels Braczek]

Re: Womit kann man den ersten von n Treffern ansprechen?

am 04.12.2004 01:52:14 von j_wenke

Hallo Niels,

vielen Dank für die Hilfe! Es klappt - natürlich.

Die erste Ds-Nummer findet ich wohl nur über eine for-Schleife.?
Performer ist wohl deine Version, die doppel-Schleife -
obwohl sicher unwesentlich.

Ich dachte nur: Anfangs habe ich ja ein Select, das vielleicht
30-40 Treffer bringt, die dann in 3-4 Seiten dargestellt werden.
Irgendwo müssen die schon gezeigten ja "abgezählt" werden?
Auf so eine Zähler dachte - oder vielmehr "hoffte" ich, zurückgreifen
zu können ... |-|

Grüße, Jörg

> j wenke schrieb:
> ^^^^^^^
> Ist das so schwer, hier 'Jörg Wenke' einzutragen?
ich "mag" das nicht. Ausführliches gehört hier ja nicht hin.

Re: Womit kann man den ersten von n Treffern ansprechen?

am 05.12.2004 22:13:53 von Knut Kohl

Hallo Jörg,

> Ich dachte nur: Anfangs habe ich ja ein Select, das vielleicht
> 30-40 Treffer bringt, die dann in 3-4 Seiten dargestellt werden.
> Irgendwo müssen die schon gezeigten ja "abgezählt" werden?

Du willst nicht "abzählen" sondern per "select ... limit m, n" NUR die
Daten für die jeweils angeforderte (3., 4. etc.) Seite holen, und nicht
ALLE ...

Knut

--
Antworten bitte in die Newsgroup.

Newsoffice.de - Die Onlinesoftware zum Lesen und Schreiben im Usenet

Re: Womit kann man den ersten von n Treffern ansprechen?

am 06.12.2004 00:25:51 von j_wenke

Hallo Knut,
> ...
.... das ist mir soweit schon klar. Das "abzählen" iritiert hier etwas.

Problem ist: durch das LIMIT bekomme ich aus meinem SELECT
nicht mehr die Gesamttrefferzahl raus(?). Wie bekomme ich die,
so dass ich die noch zu erwartende Datensatzzahl zeigen kann?

Ich habe scheinbar nur Zugriff auf die Gesamtzahl der verfügbaren
Datensätze und die Treffer je Seite.

oder hat php noch einen Prozess bezüglich der SELECT-Treffer laufen,
aus dem man den Rest einfacher anzeigen lassen kann?
Das könnte ja sein??

Gruß, Jörg

Re: Womit kann man den ersten von n Treffern ansprechen?

am 06.12.2004 01:00:17 von Niels Braczek

j wenke schrieb:

> Problem ist: durch das LIMIT bekomme ich aus meinem SELECT
> nicht mehr die Gesamttrefferzahl raus(?). Wie bekomme ich die,
> so dass ich die noch zu erwartende Datensatzzahl zeigen kann?

Lies die Anzahl der Datensätze einmal am Anfang ein und speichere sie in
einer Session.

MfG
Niels

--
Gib einem Hungrigen einen Fisch, und er ist für einen Tag satt.
Zeig ihm, wie man angelt, und er pöbelt Dich an, dass er besseres
zu tun hätte, als Schnüre ins Wasser hängen zu lassen.
[David Kastrup in de.comp.text.tex]

Re: Womit kann man den ersten von n Treffern ansprechen?

am 06.12.2004 09:15:29 von Hartmut Holzgraefe

j wenke wrote:
> Problem ist: durch das LIMIT bekomme ich aus meinem SELECT
> nicht mehr die Gesamttrefferzahl raus(?). Wie bekomme ich die,
> so dass ich die noch zu erwartende Datensatzzahl zeigen kann?

http://dev.mysql.com/doc/mysql/en/SELECT.html

* SQL_CALC_FOUND_ROWS (available in MySQL 4.0.0 and up) tells
MySQL to calculate how many rows there would be in the result
set, disregarding any LIMIT clause. The number of rows can
then be retrieved with SELECT FOUND_ROWS(). See section 12.8.3
Information Functions. Before MySQL 4.1.0, this option does not
work with LIMIT 0, which is optimized to return instantly
(resulting in a row count of 0). See section 7.2.12 How MySQL
Optimizes LIMIT.