php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.03.2008, 19:19  
Neuer Benutzer
 
Registriert seit: 23.03.2008
Beiträge: 17
schmidtsmikey befindet sich auf einem aufstrebenden Ast
Standard MySQL und Boolean: Werte nur auslesen, wenn TRUE

Hallo Community,

ich möchte folgendes mit PHP und MySQL verwirklichen:

Ein Prozessor besitzt bekanntlich mehrere Befehlssätze wie MMX, SSE, SSE2, usw. Hier habe ich geplant, für jeden Befehlssatz eine eigene Spalte anzulegen, wo dann in dem Feld entweder TRUE (wenn der Prozessor dieses unterstützt) oder FALSE (wenn es nicht unterstützt wird) gespeichert wird.

Wie lese ich das ganze wieder aus, so dass nur die Befehlssätze angezeigt werden, die der jeweilige Prozessor auch unterstützt? Im Prinzip möchte ich, dass dann folgendes zu Lesen ist:

Athlon XP, Unterstützte Befehlssätze: MMX, 3DNow!, SSE
Athlon 64, Unterstützte Befehlssätze: MMX, 3DNow!, SSE, SSE2
Pentium D, Unterstützte Befehlssätze: MMX, 3DNow!, SSE, SSE2

Bis jetzt mache ich in PHP einen MySQL-Query und lese alle Felder aus (SELECT * FROM bla), um dann unter anderem mit mysql_fetch_assoc auf die Felder zuzugreifen.

Muss ich jetzt für jede Spalte eine IF-Anweisung erstellen? Ist es überhaupt sinnvoll, für jeden BEfehlssatz eine Spalte zu erstellen?

Wäre für Eure Hilfe sehr dankbar!
schmidtsmikey ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.03.2008, 19:30  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Hallo schmidtsmikey,
ob es sinnvoll ist für jeden Befehlssatz eine Spalte anzulegen ist ermessenssache und hängt davon ab, wieviele es gibt.... . Tendenziell würde ich aber mal sagen "Nein, mach es anders"
Wenn du es so machen möchtest musst du wirklich auf jedes Feld eine If-Abfrage setzen die prüft ob es 1 oder 0...

Die "saubere" Lösung ist es, für die Befehlssätze eine extra Tabelle anzulgen und mit einer 3. Tabelle die Befehlssätze den Prozessoren zuzordnen...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 23.03.2008, 19:52  
Erfahrener Benutzer
 
Registriert seit: 29.02.2008
Beiträge: 102
Thomas befindet sich auf einem aufstrebenden Ast
Standard

Hi,

Und die einfachste wäre, einfach den String zu speichern und wieder auszulesen.

Gruß Thomas
Thomas ist offline  
Alt 23.03.2008, 19:57  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Zitat:
Zitat von Thomas Beitrag anzeigen
Und die einfachste wäre, einfach den String zu speichern und wieder auszulesen.
Womit du dann aber so ziemlich die unflexibelste Lösung ausgesucht hättest
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 23.03.2008, 20:04  
Neuer Benutzer
 
Registriert seit: 23.03.2008
Beiträge: 17
schmidtsmikey befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
Die "saubere" Lösung ist es, für die Befehlssätze eine extra Tabelle anzulgen und mit einer 3. Tabelle die Befehlssätze den Prozessoren zuzordnen...
Ich will dann mal die "saubere" Möglichkeit zumindest durchdenken Hmm, ich habe also eine Tabelle t_prozessoren (id, hersteller, name, takt, fsb, usw.). Dann habe ich eine zweite Tabelle t_befehlssatz (id, prozessor_id, mmx, sse, sse2, usw).

Wieso jetzt eine dritte Tabelle? Wie ordne ich die BEfehlssätze den Prozessoren zu?
schmidtsmikey ist offline  
Alt 23.03.2008, 20:06  
Benutzer
 
Registriert seit: 02.12.2007
Beiträge: 70
Drache befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
mit einer 3. Tabelle die Befehlssätze den Prozessoren zuzordnen...
über die 3. tabelle wird zugeordnet, die id der einen tabelle zu der id der anderen tabelle
(id_prozessor, id_befehlssatz)

edit:
aufbau der 2. tabelle:
id_befehl, befehlssatz
---------------------
1, sse
2, mmx
3, sse2

sonst funktioniert des auch mit vielen if's
__________________
Karteikasten
"Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions

Geändert von Drache (23.03.2008 um 20:10 Uhr).
Drache ist offline  
Alt 23.03.2008, 20:22  
Neuer Benutzer
 
Registriert seit: 23.03.2008
Beiträge: 17
schmidtsmikey befindet sich auf einem aufstrebenden Ast
Standard

Achso, in der dritten Tabelle würden dann folgende Einträge stehen:

id_prozessor, id_befehl
----------------------
1, 1
1, 2
1, 3
2, 1
2, 2
2, 3
2, 4
3, 1
3, 2
usw....

Dann müsste ich nur SELECT id_befehl WHERE id_prozessor = 2; und hätte dann die Befehlssätze. Und das funktioniert wirklich ohne IF's. Werde es morgen mal programmieren und das Ergebnis posten.

Danke erst einmal.
schmidtsmikey ist offline  
Alt 23.03.2008, 22:14  
Erfahrener Benutzer
 
Registriert seit: 29.02.2008
Beiträge: 102
Thomas befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von agrajag Beitrag anzeigen
Womit du dann aber so ziemlich die unflexibelste Lösung ausgesucht hättest
Hi,

Das stimmt natürlich. Aber man muss auch immer den Aufwand abschätzen. Ich persönlich würde es auch über die n:m Beziehung machen.

Gruß Thomas
Thomas ist offline  
Alt 24.03.2008, 21:03  
Neuer Benutzer
 
Registriert seit: 23.03.2008
Beiträge: 17
schmidtsmikey befindet sich auf einem aufstrebenden Ast
Standard

Macht es nicht Sinn, in diesem Fall den Datentyp SET zu nutzen? Ich bin darauf gekommen, dass nach dem 3-Tabellen-Prinzip eine prozessor_id mehrfach vorkommt und ich alle Datensätze einer prozessor_id löschen muss, wenn ich Änderungen an einem Datensatz vornehme. Nach dem Prinzip: "Erst alles löschen und dann wieder neu in die Tabelle schreiben".

Eigentlich ist SET genau der passende Datentyp, aber ich sehe irgendwie Probleme bei der späteren Datenpflege, wenn Einträge aktualisiert werden müssen. Ich habe im Prinzip ein eigenes Admin-Menü programmiert, in dem ich mit HTML-Formularen die Datensätze speichere.

Bezogen auf die Befehlssätze stelle ich mir vor, dass ich mit Checkboxen arbeite. Hier habe ich schon allein das Problem, dass ich nicht weiß, wie ich die Datensätze so auslese, dass ich die entsprechenden Checkboxen vormarkiere.

Geändert von schmidtsmikey (24.03.2008 um 21:06 Uhr).
schmidtsmikey ist offline  
Alt 25.03.2008, 09:57  
Benutzer
 
Registriert seit: 02.12.2007
Beiträge: 70
Drache befindet sich auf einem aufstrebenden Ast
Standard

warum du alle datensätze einer prozessor_id löschen willst , um diese zu ändern, bleibt mir unklar. die lassen sich einzeln auswerten oder ändern.(for/while-schleife in php)

zu deinem admin-tool: das ganze über ne while schleife ziehen, darin je einen befehlssatz ausgeben und via mysql_num_rows() o.ä. prüfen, ob ein datensatz für die prozessor_id mit der befehlssatz_id vorhanden ist und dann deiner checkbox halt nen selected o.ä. anhängen.
__________________
Karteikasten
"Es gibt auch Linux-Aussteiger. Aber die Rückfallquote steigt mit jeder Win-Version." - Walter Saner in de.newusers.questions
Drache 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
Frage: richtige SQL Abfrage von einer MySQL Spalte die SET werte besitzt Seb PHP Tipps 2008 2 29.05.2008 11:36
Werte aus einem Text auslesen Smilerr PHP Tipps 2008 1 18.05.2008 19:27
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
beim auslesen von mysql datenbank bestimmte id nicht auslsen djrace PHP Tipps 2005-2 3 10.09.2005 13:32
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
große datenmengen aus mysql auslesen bratwurstschorsch PHP Tipps 2005-2 6 04.08.2005 16:05
Werte in Textdatei speichern und auslesen PHP Tipps 2004-2 12 21.12.2004 09:22
MySql eingetragene werte in DB PHP Tipps 2004-2 3 24.11.2004 20:48
Auslesen von Daten aus einer mysql Datenbank + Editieren vampsoftchef PHP Tipps 2004-2 5 15.11.2004 08:31
jede 2. Zeile aus MySQL Tabelle auslesen PHP Tipps 2004-2 4 09.11.2004 14:25
[Erledigt] Werte aus Textdatei auslesen PHP Tipps 2004 22 19.10.2004 15:00
Die 10 letzten werte aus einer mysql datenbank auslesen Datenbanken 2 15.09.2004 18:28
[Erledigt] checkbox werte in MySQL Datenbank PHP Tipps 2004 6 10.09.2004 23:38
[Erledigt] Einzelne Werte aus TXT Datei auslesen und anzeigen. PHP Tipps 2004 1 08.09.2004 06:31
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql abfrage true, mysql boolean abfragen, mysql where true, mysql select true, mysql true abfrage, mysql boolean, mysql bool werte, mysql true, mysql abfrage boolean, mysql wenn dann, mysql bool feld, mysql abfrage bool, mysql select where true, mysql feld bool, mysql bool abfragen, mysql boolean auslesen, mysql boolean feld, boolean mysql, mysql select boolean, mysql boolean werte

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:25 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