php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.11.2009, 16:17  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 8
PHP-Kenntnisse:
Anfänger
Offshore befindet sich auf einem aufstrebenden Ast
Standard multiple mysql_qerry SELECT * FROM "" WHERE abfrage!?

Hallo an alle! Leider habe ich ein Problem und hoffe das Ihr mir helfen könnt!
Wahrscheinlich ist es für euch total banal!

Ich habe eine Seite erstellt wo ein Select Feld ist. Diese daten werden in eine .php Datei übergeben mittels method="post".
HTML-Code:
<select name="selected[]" size="10" multiple="multiple" id="selected">
        <? while ($daten = mysql_fetch_array($result)) { ?>
        <option><? echo $daten[vorname], ".", $daten[name]; ?></option>
        <? }?>
      </select> 
So nun Zerlege ich das Array in die ausgewähltet Daten (Vorname.Nachname)
PHP-Code:
$selected_array $_POST["selected"];
$selected1 $selected_array[0];
$selected2 $selected_array[1];
$selected3 $selected_array[2];
$selected4 $selected_array[3];
$selected5 $selected_array[4]; 
Die Array-Daten[0; 1; usw...] werden noch mittels explode zerlegt
PHP-Code:
$select_array explode(".",$selected1);
$vorname $select_array[0];
$nachname $select_array[1];
$select_array explode(".",$selected2);
$vorname1 $select_array[0];
$nachname1 $select_array[1];
$select_array explode(".",$selected3);
$vorname2 $select_array[0];
$nachname2 $select_array[1];
$select_array explode(".",$selected4);
$vorname3 $select_array[0];
$nachname3 $select_array[1];
$select_array explode(".",$selected5);
$vorname4 $select_array[0];
$nachname4 $select_array[1]; 
Nun möchte ich die 5 mal Vorname und 5 mal Nachname mit
PHP-Code:
$result mysql_query("SELECT * FROM kunden WHERE 
(vorname='$vorname' AND name='$nachname')"
,$db
auslesen und mit eine While schleife bereitstellen.
PHP-Code:
while ($daten mysql_fetch_array($result $result)) {} 
Ich bin son bischen am verzweifeln, leider hat auch mir die Boardsuche sowie my Bestfriend "Google" nicht geholfen.

Mein Problem ist jetzt das ich in der DB nach Vorname und name suche aber ich irgend wie immer nur einen suchen und buffern kann im mysql_qerry ich hatte es auch schon so versucht
PHP-Code:
$result mysql_query("SELECT * FROM kunden WHERE 
(vorname='$vorname OR $vorname1' AND name='$nachname OR $nachname1')"
,$db); 
//ODER
$result mysql_query("SELECT * FROM kunden WHERE 
(vorname='$vorname, $vorname1' AND name='$nachname, $nachname1')"
,$db); 
funtzt aber nicht. Also muss ich euch leider Belästigen! Ich freue mich über jede hilfe!

mfg Andreas
Offshore ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.11.2009, 16:28  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das ist ja furchtbar!
- Benutze Arrays, wenn Du schon Eingangsarrays hast
- Benutze das Value-Attribut
- Vermeide mehrere Daten pro Attributangabe

- Beschreibe Deine Pläne, nicht Deine Versuche.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.11.2009, 16:42  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 8
PHP-Kenntnisse:
Anfänger
Offshore befindet sich auf einem aufstrebenden Ast
Standard

Danke erstmal für deine schnelle Antwort!!
Zitat:
- Benutze Arrays, wenn Du schon Eingangsarrays hast
Das Verstehe ich jetzt nicht so ganz recht!

Die Daten des Select Feldes werden ja dynamisch zugewiesen.
Zitat:
- Benutze das Value-Attribut
Hier habe ich schon versucht es zu vereinfachen mit:
HTML-Code:
<select name="selected[]" size="10" multiple="multiple" id="selected">
        <? while ($daten = mysql_fetch_array($result)) { ?>
        <option value=<? echo $daten[id]; ?>><? echo $daten[vorname], ".", $daten[name]; ?></option>
        <? }?>
      </select> 
Hier versuche ich die User die ich haben will nicht anhand des Vorname Nachname prinzip zu übergeben sondern mit der ID aus der DB.

So mit müsste sich ja
Zitat:
- Vermeide mehrere Daten pro Attributangabe
erledigt haben.


Zitat:
- Beschreibe Deine Pläne, nicht Deine Versuche.
Also ich will nur 5 user id´s ausgeben mit mysql_querry und mysql_fetch_array. Ich weis wie ich Einen User ausgebe oder Alle aber nicht wie ich 5 spezielle ausgebe!!

mfg Andreas
Offshore ist offline  
Alt 14.11.2009, 16:58  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
Zitat von Offshore Beitrag anzeigen
Die Daten des Select Feldes werden ja dynamisch zugewiesen.
Im Action-Script hast DU ein wunderbares Array. Und dann machst Du das:
Zitat:
PHP-Code:
$selected_array $_POST["selected"];
$selected1 $selected_array[0]; 
Zitat:
Zitat von Offshore Beitrag anzeigen
Hier habe ich schon versucht es zu vereinfachen mit:
HTML-Code:
<select name="selected[]" size="10" multiple="multiple" id="selected">
        <? while ($daten = mysql_fetch_array($result)) { ?>
        <option value=<? echo $daten[id]; ?>><? echo $daten[vorname], ".", $daten[name]; ?></option>
        <? }?>
      </select> 
Hier versuche ich die User die ich haben will nicht anhand des Vorname Nachname prinzip zu übergeben sondern mit der ID aus der DB.
Falls $daten[id] aus einem mysql_fetch kommt, ist das genau richtig. Nur dass noch " " drumherum fehlt. Und in die eckigen Klammern gehören auch Stringbegrenzer!

Zitat:
Zitat von Offshore Beitrag anzeigen
Also ich will nur 5 user id´s ausgeben mit mysql_querry und mysql_fetch_array. Ich weis wie ich Einen User ausgebe oder Alle aber nicht wie ich 5 spezielle ausgebe!!

mfg Andreas
Versuch erstmal an die 5 IDs zu kommen, schön schrittweise vorgehen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.11.2009, 17:24  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 8
PHP-Kenntnisse:
Anfänger
Offshore befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Infos.
Leider weis ich nicht wie ich sonst ein Array verarbeiten soll außer es zu zerlegen wie ich es ja schon getan habe.

So die " " habe ich eingefügt und ich weis auch was String begrenzer sind (' ' oder " ") aber ich kann nicht nachvollziehen warum und wo ich noch welche setzen soll!
Schau mal Hier:
HTML-Code:
<select name="selected[]" size="10" multiple="multiple" id="selected">
        <? while ($daten = mysql_fetch_array($result)) { ?>
        <option value="<? echo $daten[id]; ?>"><? echo $daten[vorname], ".", $daten[name]; ?></option>
        <? }?>
      </select> 
Die ID´s bekomme ich so
PHP-Code:
foreach($_POST['selected'] as $id)
{echo 
$id ;} 
aber die werden halt hinternander weg mir ausgegeben! z.b. 242556 das sind die user 24; 25 und 56.

Kannst du mir da weiterhelfen denn nun fehlt mir nen Denk-anstoß um diese nun weiter zu verarbeitet

mfg Andreas
Offshore ist offline  
Alt 14.11.2009, 18:00  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

PHP-Code:
$daten['id'
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.11.2009, 18:08  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 8
PHP-Kenntnisse:
Anfänger
Offshore befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
PHP-Code:
$daten['id'
Das habe ich!
Nun Habe ich das Nächste Problem!
PHP-Code:
foreach($_POST['selected'] as $id){
echo 
$id[0];} 
normaler weise solte auf dieser Position im Array die Zahl 14 liegen.
Weil 3 user gewählt.
Wenn ich die Eckigenklammern und die Null weglasse bekomme ich alle Zahlen richtig Zahlen aber halt so==> 142426 ich habe diese versucht zu trennen halt mit Eckigenklammern und die Null aber dann bekomme ich für pos Null 122.

das verstehe ich nicht!

mfg Andreas
Offshore ist offline  
Alt 14.11.2009, 20:28  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 8
PHP-Kenntnisse:
Anfänger
Offshore befindet sich auf einem aufstrebenden Ast
Standard

So ich habe es geschafft was ich wollte!
PHP-Code:
$selected $_POST['selected'];
$result mysql_query("SELECT * FROM kunden WHERE 
(id='$selected[0]' OR id='$selected[1]' OR id='$selected[2]' 
OR id='$selected[3]' OR id='$selected[4]')"
,$db); 
Aber nun Habe ich noch ne frage! Jetzt frage ich 5 mal die ID ab kann ich diese abfrage auch vereinfachen???

mfg Andreas
Offshore ist offline  
Alt 14.11.2009, 20:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.990
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ja. Mit einem OR-Operator. Bevor Du fragst: Schau ins Handbuch. PHP-seitig geht das mit implode oder einer Schleife.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 14.11.2009, 20:56  
Neuer Benutzer
 
Registriert seit: 14.11.2009
Beiträge: 8
PHP-Kenntnisse:
Anfänger
Offshore befindet sich auf einem aufstrebenden Ast
Standard

Also ich habe es so versucht aber dann funtzt die ausgabe der DB daten nicht mehr!
PHP-Code:
$selected $_POST['selected'];
$result mysql_query("SELECT * FROM kunden WHERE 
(while ($selected){id='$selected'})"
,$db); 
mfg Andreas
Offshore ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] 2 Select-Abfragen in eine Variable speichern TheMav Datenbanken 3 18.06.2009 00:29
Select Abfrage von zwei Eigenschaften BlackBroom Datenbanken 5 02.06.2009 11:29
mehrere select count zusammen fassen reddevil82 PHP Tipps 2009 9 03.05.2009 21:45
MSSQL Abfrage mit if pega42 Datenbanken 0 15.04.2009 15:39
[gelöst] SELECT COUNT(*) FROM SUBSELECT braucht ewig! stefanjann Datenbanken 3 25.02.2008 08:44
erweiterte abfrage - where DarkManX Datenbanken 2 02.02.2007 17:14
Mehrfach where in der ABfrage? Kori Datenbanken 4 16.01.2007 16:46
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
[Erledigt] [gelöst] MySQL abfrage eingrenzen anhand einer SELECT Auswah Datenbanken 13 01.12.2004 18:42
[Erledigt] SELECT * FROM tabelle WHERE id 'zwischen' 10 AND 20 Datenbanken 2 28.11.2004 14:37
SELECT * FROM usertable WHERE nick like usernick? Wie??? PHP Tipps 2004-2 1 18.11.2004 20:08
SELECT FROM...WHERE id=(SELECT...) bicpi Datenbanken 4 24.10.2004 10:53
Select abfrage in Schleife PHP Tipps 2004 2 20.07.2004 15:37
[Erledigt] select ALLES from EGALWOHER where WASAUCHIMMER Datenbanken 1 01.06.2004 11:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
select from where, select from where and, select * from where, http://www.php.de/php-einsteiger/61219-multiple-mysql_qerry-select-where-abfrage.html, select from where =, select from where or, select from where $, select from where and where, from where php, selecct from where, mysql_query select from where php, select from whre, select from where php, select *from where, select*from, php select * from, select from where = $, mysql_query select php, select from and where, select from where ?

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:44 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum