You are not logged in.

  • Login

1

Thursday, May 5th 2011, 2:38pm

raussuchen gewisser ziffern

Hallo zusammen,

ich wollte mal wissen, ob es möglich ist, wenn jetzt in der datenbank z.B. in ne rzeile steht:
5, 2, 8, 9 usw.
dass dann überprüft wird, ob dann eine gewisse ziffer drin vor kommt.

Also n beispiel:

in ner datenbank stehen die zahlen 1, 3, 5, 9, 10, 25
und der soll dann schauen, ob eine bestimmte zahl, hier z.B. 3 mit drine steht.

Ich hoffe, es ist verständlich,w as ich mein:D

LG

Fipsi

Sheldon

Unregistered

2

Thursday, May 5th 2011, 3:16pm

Na klar. Benutze einfach die WHERE-Klausel

$sql = 'SELECT * FROM tabelle WHERE spalte = "3" '

und verwende den SQL-Befehl dann mit mysql_fetch_assoc.

MfG Sheldon

3

Thursday, May 5th 2011, 3:38pm

achso... also schnappt der mir WHERE auch einzeltteile raus... ich hab gedacht, nur die ganze spalte...
und das mysql_fetch_assoc statt mysql_fetch_object?

und kann man das eigentlich machen mit zwei WHERE's, als z.B. SELECT * FROM * WHERE * LIKE WHERE * LIKE, oder so ähnlich?

Sheldon

Unregistered

4

Thursday, May 5th 2011, 3:58pm

achso... also schnappt der mir WHERE auch einzeltteile raus... ich hab gedacht, nur die ganze spalte...
und das mysql_fetch_assoc statt mysql_fetch_object?


Genau


Quoted

und kann man das eigentlich machen mit zwei WHERE's, als z.B. SELECT * FROM * WHERE * LIKE WHERE * LIKE, oder so ähnlich?


Kann dir nicht folgen. Wozu? Nenn mir ein Beispiel?

5

Thursday, May 5th 2011, 4:10pm

zwei Ziffern?
Klar!

Source code

1
Select * from tabelle where zahl = 3 OR zahl = 4


oder

Source code

1
Select * from tabelle where zahl IN (3,4)

6

Thursday, May 5th 2011, 4:23pm

geht das nur mit ziffern, also nach zwei kreterien?

UPDATE

Quoted

und kann man das eigentlich machen mit zwei WHERE's, als z.B. SELECT * FROM * WHERE * LIKE WHERE * LIKE, oder so ähnlich?


Kann dir nicht folgen. Wozu? Nenn mir ein Beispiel?


Beispiel:

wenn ich von einer bestimmten gruppe (also von nem forum zum Beispiel) wen haben will, der auch in einer anderen gruppe ist, oder user die ne bestimmte anzahl von beiträgen haben, oder what ever

Sheldon

Unregistered

7

Thursday, May 5th 2011, 4:38pm

Okay. Also entweder du erweiterst einfach WHERE so wie ali g es dir gepostet hat oder schau mal hier: Link

Edit: Eine WHERE-Klause muss keine Ziffer Kriterien haben. Es können auch Buchstaben und Wörter sein. Besonders werden denk ich Variablen abgefragt, die für die Benutzereingabe in einem Formular stehen.
Zum Beispiel bei einem Login-System. Wenn du wissen willst, ob die Emailadresse schon vorhanden ist.

8

Thursday, May 5th 2011, 4:50pm

*gg* soweit bin ich auch schon^^

ich wollt jez nur mal wissen, ob das auch funktioniert, weil das wird mir einiges an arbeit erleichtern/abnehmen...

ich denke, damit is das hie rgeklärt... vielen dank

UPDATE
ähm... dann hab ich noch ne frage:

is es möglich, ne Abfrage einzugrenzen?

Weil ich hab auch nen News-teil per datenbank und da soll auf der "hauptseite" vond en News von jeder News zwei zeilen gefüllt werden und dann ein link zu der führen... aber das de rhalt eben nur die zwei zeilen ausspuckt und nicht die gesamte news...

9

Friday, May 6th 2011, 9:41am

nein,
das ist Aufgabe von php!

ciao

10

Friday, May 6th 2011, 3:23pm

und wie geht dat wieder?^^
oder soll ich lieber n neuen Thread dafür machen?

Edit: entschuldigung, mir is eben erst aufgefallen, dass meine finger teilweise wieder zu schnell waren:D

This post has been edited 1 times, last edit by "Fipsi" (May 6th 2011, 9:41pm)


Sheldon

Unregistered

11

Friday, May 6th 2011, 8:35pm

Guten Abend,

benutze mal die LIMIT-Klause. Google einfach danach ;)

Mit freundlichen Grüßen

Sheldon

12

Friday, May 6th 2011, 9:43pm

ähm... is die LIMIT-Klausel nicht dafür:

SELECT xy FROM xy WHERE XY LIKE z LIMIT y

also dass nur eine maximale anzahl y von der Spalte xy rausgesucht wird?^^

13

Saturday, May 7th 2011, 10:18am

mir is aber gerade was anderes aufgefallen, was zu dme eigentlichem thema jez hier gehört:

Ich hab jetzt den inhalt der spalte "gruppen" in $_SESSION['gruppen'] gespeichert... der User ist mitglied in den gruppen 1, 2, 3, 4 und 5, was jetzt in der Session drin steht und ich hab jetzt die if-abfrage if ($_SESSION['gruppen'] == "1"), was ja allerdings nicht geht, weil es ja die zahlen 1-5 sind und nicht nur 1... geht das jetzt irgendwie, dass der schaut, ob eine der zahlen (durch Komma immer abgetrannt, nciht nach ziffern) sich in dieser Session befinden...
mir is bisher nix eingefallen und hab auch nichts wirklich über google gefunden...

14

Saturday, May 7th 2011, 10:53am

In SQL kannst du eine Abfrage mit WHERE gruppen LIKE = '%1%' machen. In PHP würde ich dir empfehlen diese Zahlenreihe mit explode in einen Array umzubauen. Mach das aber am besten immer einmalig und speicher das dann in die Session.

PHP Quellcode

1
$_SESSION['gruppen'] = explode(',', $row['gruppen']);

15

Saturday, May 7th 2011, 11:56am

achso, also das in die session reinspeichern und nciht aus der session rausholen? auch gut:D
danke

UPDATE
ähm... mit Array kenn ich mcih nich so aus... ähm... muss die abfrage dann immer noch if ($_SESSION['gruppen'] == "1") lauten? weil per var_dump kommt array(5) { [0]=> string(1) "1" [1]=> string(2) " 2" [2]=> string(2) " 3" [3]=> string(2) " 4" [4]=> string(2) " 5" } raus, aber wenn ich diese if-abfrage verwende, dann funktioniert das nich...?

Edit: ich musste

PHP Quellcode

1
$_SESSION['gruppen'] = explode(',', $row['gruppen']);

zu

PHP Quellcode

1
$_SESSION['gruppen'] = explode(',',$row->gruppen);

ändern, sonst zeigt der mir error an

UPDATE
ok, ich hab das problem gelöst: if ($_SESSION['gruppen'][0] == "1")

16

Tuesday, May 10th 2011, 5:32pm

Ich weiß, wieder doppelpost, aber diesmal "erzwungen", weil sonst keine raufmerksam wird...
also...:

ja, es geht: if ($_SESSION['[0] == "1")
ABER ein Problem: in der Session stehen nur gruppen, in der man ist... d.h. gruppe 15 kann bei dem user $_SESSION['gruppen'][15] sein und bei einem anderem user $_SESSION['gruppen'][5].... was dann ja wieder nicht past... wie also kann ich das lösen?...

17

Tuesday, May 10th 2011, 9:01pm

Naja du musst auch anders prüfen:

PHP Quellcode

1
if(in_array(15, $_SESSION['gruppen'])) { }

18

Wednesday, May 11th 2011, 2:08pm

öhm... der zeigt mirjez das hier an:
Warning: in_array() expects at most 3 parameters, 5 given in C:\xampp\htdocs\data\templates\rechts.php on line 8
wenn ich

PHP Quellcode

1
if(in_array(1, 2, 3, 4,  $_SESSION['gruppen']))

drin hab, weil das soll für mehrere Gruppen sichtbar sein.

19

Thursday, May 12th 2011, 8:51am

Lies die Meldung und schau es dir nochmal genauer an ;)
Tip: Szabo hat eine Klammer vergessen

http://de.php.net/in_array

20

Thursday, May 12th 2011, 4:03pm

hm... hab mir jez vllt. gedacht, dass "" um die zahlen gehören, aber nich, und unter klammern hab cih keiunen Plan was du meinst... *grübel*

Similar threads

Social bookmarks