88871
Goto Top

Wie stellt ihr eine simple schon vorhanden abfrage unter php mySQL an ?

Hoied

Frage mal in die PHP Runde hier wie ihr sowas anstellt. Auf "altmodische" Weise. Also nicht mit eigenen Funktionen etc...


$query = mysql_query("SELECT test FROM test WHERE id = '$test'");  
$anzahl = mysql_num_rows($query );

if($anzahl >= '1') // 1 oder mehr resultate abfangen  
{
     echo "Ja, hab was gefunden";  
}
     else
     {
          echo "Nope, nix da";  
     }


Gibt es was "schlankeres" ?

Content-Key: 194733

Url: https://administrator.de/contentid/194733

Printed on: April 19, 2024 at 00:04 o'clock

Member: Epixc0re
Epixc0re Nov 22, 2012 updated at 13:49:12 (UTC)
Goto Top
Hi,

z.b. so:

$qry = mysql_query("select test from test where id='".$test."';");  
if(mysql_num_rows($qry))
	echo "ja";  
else
	echo "Nope";  
Mitglied: 88871
88871 Nov 22, 2012 at 13:50:01 (UTC)
Goto Top
heijas

gehtst du in deinem beispiel mit true/false aus ? d.h. erstes echo ist true, zweites echo false ?
Member: nxclass
nxclass Nov 22, 2012 at 14:15:14 (UTC)
Goto Top
Deine SQL Abfrage ins Model
Deine Texte kommen in den View
Deine if-else Logik in den Controller
Member: Epixc0re
Epixc0re Nov 22, 2012 at 15:13:22 (UTC)
Goto Top
Servus,

scheint so.

"Dein Kommentar muss mindestens 30 Zeichen lang sein. Bitte wiederhole Deine Eingabe!"
Mitglied: 88871
88871 Nov 22, 2012 at 15:25:36 (UTC)
Goto Top
Zitat von @nxclass:
Deine SQL Abfrage ins Model
Deine Texte kommen in den View
Deine if-else Logik in den Controller

hei nx face-smile wie meinst du das konkret ?
Member: Epixc0re
Epixc0re Nov 22, 2012 at 23:04:24 (UTC)
Goto Top
Zitat von @88871:
> Zitat von @nxclass:
> ----
> Deine SQL Abfrage ins Model
> Deine Texte kommen in den View
> Deine if-else Logik in den Controller

hei nx face-smile wie meinst du das konkret ?


Nennt sich OOP!
Mitglied: 88871
88871 Nov 23, 2012 at 09:29:06 (UTC)
Goto Top
ah doch, ja soweit bin ich noch nicht face-smile

auf jedenfall ist sie abfrage so richtig wenn ich kurz pruefen moechte ob ein eintrag vorhanden ist oder? kurz und gut. da gibts keine anderen weg...?
Member: Epixc0re
Epixc0re Nov 23, 2012 at 09:33:09 (UTC)
Goto Top
was passt Dir denn an der Reduktion von 11 auf 5 Zeilen nicht?
Member: Guenni
Guenni Nov 23, 2012 at 11:07:15 (UTC)
Goto Top
Hi dark3zz,

Zitat von @88871:
ah doch, ja soweit bin ich noch nicht face-smile

auf jedenfall ist sie abfrage so richtig wenn ich kurz pruefen moechte ob ein
eintrag vorhanden ist oder?

kurz und gut. da gibts keine anderen weg...?

Du kannst auch den Trinitäts-Operator verwenden:

Bedingung ? Bedingung ergibt true : Bedingung ergibt false

<?php
echo mysql_num_rows(mysql_query("select * from tabelle2 where id=50")) > 0 ? "Schon vorhanden." : "Nicht vorhanden.";  
?>

Die Funktion mysql_query der Funktion mysql_num_rows als Parameter übergeben und prüfen, ob das Ergebnis größer 0 ist.

Wenn ja (Ergebnis == TRUE), wird "Schon vorhanden", ansonsten "Nicht vorhanden" ausgegeben.

Kurz genug? face-smile

Gruß
Günni
Mitglied: 88871
88871 Nov 23, 2012 at 11:17:48 (UTC)
Goto Top
alles in ordnung, vielleicht muss ich den grund dieser sehr simpen einfach aber maechtigen frage sagen face-smile

ich bringe mir seit laengerer zeit das php bei. ja das geht, sogar sehr gut, im zweiergespraech: kopf und hirn face-smile

ich moechte meine eingefleischten syntaxregeln einfach noch absegnen lassen. moechte nichts lernen, was man ganz anders loest......thats it face-smile

immer wier gut zu sehen wie pro's oder einfach andere das machen
Mitglied: 88871
88871 Nov 23, 2012 at 11:20:49 (UTC)
Goto Top
Zitat von @Guenni:
Hi dark3zz,

> Zitat von @88871:
> ---------------------------------------------
> ah doch, ja soweit bin ich noch nicht face-smile
>
> auf jedenfall ist sie abfrage so richtig wenn ich kurz pruefen moechte ob ein
> eintrag vorhanden ist oder?
>
> kurz und gut. da gibts keine anderen weg...?

Du kannst auch den Trinitäts-Operator verwenden:

Bedingung ? Bedingung ergibt true : Bedingung ergibt false

> <?php
> echo mysql_num_rows(mysql_query("select * from tabelle2 where id=50")) > 0 ? "Schon vorhanden." :  
> "Nicht vorhanden.";  
> ?>
> 

Die Funktion mysql_query der Funktion mysql_num_rows als Parameter übergeben und prüfen, ob das Ergebnis
größer 0 ist.

Wenn ja (Ergebnis == TRUE), wird "Schon vorhanden", ansonsten "Nicht vorhanden" ausgegeben.

Kurz genug? face-smile

Gruß
Günni

merci auch dir günni, das ist ja ein 1-zeiler query face-smile

werde mir mal die trinity geschichte anschauen. das gefaellt mir so.
Member: Epixc0re
Epixc0re Nov 24, 2012 at 09:23:44 (UTC)
Goto Top
Zitat von @88871:
immer wier gut zu sehen wie pro's oder einfach andere das machen

Dann solltest du gleich mit OOP durchstarten face-smile
Member: nxclass
nxclass Nov 26, 2012 at 13:39:00 (UTC)
Goto Top
kurz und gut. da gibts keine anderen weg...?
...um die DB Abfrage kommst du nicht herum .. und der Rest des Codes ist ja nicht die Welt.

Deine `id` sollte ein INDEX haben (wenn es nicht schon einer ist wie ein PRIMARY KEY). Ggf kannst Du dir ja gleich die Anzahl zurückgeben lassen:
SELECT COUNT(*) AS 'anzahl' ...  
sollte es mehr Datensätze zu der `id` geben.

zu OOP: schau Dir mal das PDO Objekt in PHP an.