php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.10.2007, 02:09  
Neuer Benutzer
 
Registriert seit: 16.10.2007
Beiträge: 3
TheFlu
Standard Feldname mit Leerzeichen lässt sich nicht verarbeiten

Schönen guten Abend,

ich arbeite an einer Umfrage auf Basis von MySQl und PHP zur Zugriffssteuerung.

Im 1.Teil wird eine Überprüfung durchgeführt. Es gibt eine Tabelle in der alle Namen stehen. Im Feld "Namen" wird der aktuelle Name gespeichert und dann in einer Variable "$aktuellerNamer gespeichert.

Also:
select name from namen(so heist die tabelle) where name =0 'aktuell erbenutzer'

Im 2.Teil hat der Benutzter die Möglichekeit zu verschienden anderen Benutztern Kommentare abzugeben.
Das geschiet mit einem Updatebefehl. Allerdings wird nun nicht mehr der Name aus dem Datensatz angewählt (wie bei 1) sondern der Datensatz des jeweiligen Benutzers geändert.

update namen set $aktuelle rbenutzter = '$eingebenes stichwort' where Name = '$alle namen aus der liste'

Und jetzt das Problem:
Wenn ich bei 1 den Listename mit dem eingeben Namen vergleiche geht das alles wunderbar "vorname nachname = vorname nachname"

Bei zwei geht das aber NUR wenn Vor- und Nachname kein Leerzeichen beinhalten also vornamENachname = vornamENachname

Jetzt hab ich versucht das Leerzeichen mit 'str_replace ( ' ', '', $aktueller benutzter);' zu löschen.
Ich komme bloß immer wieder an Stelle wo ich den normalen Namen brauche zB als zu Anzeigen und auch später in der Umfrage gibt es wieder einen Teil der ähnlich wie Nr.1 ist. Dazu bräuchte ich wieder den richtigen Namen.


Gibts dafür ne Lösung wie man die mit Leerzeichen in Datenfeldnamen selektieren kann?
TheFlu ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.10.2007, 10:33  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Deine Fragestellung ist leider sehr unklar. Wo hast du Leerzeichen, im Attributname(1) oder im Wert(2)? Und was willst du aktualisieren, einen bestimmten Datensatz(3), die Datensätze eines Benutzers(4) oder mehrerer Benutzer(5)?
  • 1. Würde ich sehr davon abraten, aber wenn es sein muss in Name in Backticks (`) setzen.
    2. Wert in Anfürungszeichen setzen (muss in jedem Fall so sein)
    3.
    Code:
    WHERE <primary key> = '$endeutiger wert'
    
    4.
    Code:
    WHERE name = '$wert'
    
    5.
    Code:
    WHERE name in (<kommagetrennte Namensliste>)
    
Aber vielleicht suchst du ja nochmals ganz etwas anderes.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 16.10.2007, 12:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Willkommen hier im Forum

Bitte poste hier die SQL-Befehle, wie sie auch an mysql_query() gesendet werden. Das heißt SQL ohne Variablen aus PHP etc. Deine Erklärungen sind schön aber ungenau und oft liegt der Fehler im Detail.
Zergling-new ist offline   Mit Zitat antworten
Alt 16.10.2007, 14:04  
Neuer Benutzer
 
Registriert seit: 16.10.2007
Beiträge: 3
TheFlu
Standard

http://theflu.th.funpic.de/Ablage/Ab.../Datenbank.JPG
Ich hab noch mal zur Verdeutlichung nen Screen gemacht.
Die Namen in der Spalte "Name" werden zum Vergleich für Teil 1 gebraucht und ausgelesen. Da ist es egal ob ein Leerzeichen im Namen steht oder nicht.

Wenn ich dann für den zweiten Teil dann aber für jeden einzelnen Namen ein Stichwort schreiben will, brauch ich ein 2 achsige Matrix, also werden alle Namen noch mal als Spaltennamen geschrieben.

Wenn ich jetzt den Spalten name mit dem Updatebefehl anwählen will, geht das nur noch wenn keine Leerzeichen vorhanden sind.
Also rot geht, blau nicht!
TheFlu ist offline   Mit Zitat antworten
Alt 16.10.2007, 14:07  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Mach dich mal mit Normalisierung für Datenbanken vertraut, ich muss jetzt zur FH
Zergling-new ist offline   Mit Zitat antworten
Alt 16.10.2007, 14:16  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Also wenn ich dein Tabellenlayout sehe läufts mit kalt den Rücken runter ist nicht böse gemeint aber wie Zergling schon sagt mach dich mit der Normalisierung vertraut, dann wirst du sicherlich nie wieder Namen von Personen als Spaltenüberschriften haben... außerdem solltest du mal darüber nachdenken was passiert wenn 2 Personen den selben Namen haben. Dann sind sie nicht mehr eindeutig. Stichwort: ID.

Noch nen Tipp: Mach die normalisierung Schritt für Schritt und nicht alles in einem Zug.

Achja und noch ein willkommen hier im Forum
cycap ist offline   Mit Zitat antworten
Alt 16.10.2007, 14:30  
Neuer Benutzer
 
Registriert seit: 16.10.2007
Beiträge: 3
TheFlu
Standard

Normalisierung hab ich schonmal gehört als ich wo gefragt hab wie ich Datenbank aufbauen soll
Ich hab das jetzt mit meinem Informatikkurs wissen über MySQL gemacht. Es werden insgesamt vielleicht 80 Personen sein, die befragt werden und dafür erschein mir als Laie diese Form am logischsten.
Ich verstehe die Problematik die es notwendig macht Normalisierung anzuwenden, aber nicht auf meinem Level.

Also habt ihr ne Idee wie ich das schaffe den Leerzeichenvergleich auszuschalten?
So wie es jetzt aussieht muss ich wohl auf die Leerzeichen verzichten, was ein bischen blöd in der Anzeige aussieht aber nicht weh tut.

Weil insgesamt funktioniert das Programm. Wenn ich das Layout fertig hab stell ich den Quellcode zur Begutachtung online.

Danke bis hierhin
TheFlu ist offline   Mit Zitat antworten
Alt 16.10.2007, 14:40  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Ich verstehe die Problematik die es notwendig macht Normalisierung anzuwenden, aber nicht auf meinem Level.
Ganz ehrlich? Du hast gar nichts verstanden. Lesen hilft meist mehr als dem Lehrer zuzuhören

Warum machst du dein Tabellenlayout nicht so in der Art:

Tabelle User:
Code:
id | name | ...
Tabelle Kommentare:
Code:
id | id_user_von | id_user_an | text |...
Tabelle Fragen:
Code:
id | frage | ...
Tabelle Antwortmoeglichkeiten:
Code:
id | id_frage | ordnung |...
Tabelle abgegebeneAntworten:
Code:
id | id_user | id_frage | id_antwortmoegl ...
cycap ist offline   Mit Zitat antworten
Alt 16.10.2007, 23:01  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Gerade wenn es 80 Personen werden ist Normalisierung Pflicht.
Sind die Beispiele auf der Wikipedia-Seite denn so unverständlich?
Zergling-new ist offline   Mit Zitat antworten
Antwort


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] String mit mehreren Leerzeichen in Array wandeln Kurby PHP Tipps 2008 13 24.07.2008 16:06
wordwrap und Leerzeichen Zangelo PHP Tipps 2007 6 10.04.2007 21:36
Bei Text aus "textarea" die Leerzeichen entfernen? BartTheDevil89 PHP Tipps 2006 3 05.10.2006 12:02
Dateinamen ausgeben mit Leerzeichen tennessee Server, Hosting und Workstations 2 12.04.2006 17:18
fgets und leerzeichen notyyy PHP Tipps 2006 4 19.02.2006 23:00
leerzeichen moose PHP Tipps 2006 1 24.01.2006 18:54
führendes Leerzeichen löschne spoi PHP Tipps 2006 4 16.01.2006 16:31
SMS Anfragen werden bei Leerzeichen nicht ausgeführt... madSoul PHP Tipps 2005-2 0 11.08.2005 12:14
Variable aus Leerzeichen bestehend Ypsillon PHP Tipps 2005 2 05.01.2005 12:25
[Erledigt] Leerzeichen in Hyperlinks Server, Hosting und Workstations 2 23.11.2004 08:40
verdammt,bracuhe sowas mit leerzeichen :D Skazi PHP Tipps 2004 1 20.10.2004 08:32
[Erledigt] Hilfe: Leerzeichen bei SQL-Eintrag über Formular Datenbanken 2 05.09.2004 22:17
Leerzeichen in Regexp PHP Tipps 2004 2 05.09.2004 16:13
Leerzeichen aus DB-Feld werden zu einem zusammengefaßt HTML, Usability und Barrierefreiheit 2 13.08.2004 13:54
[Erledigt] string in array wird immer bei leerzeichen abgeschnitten?? PHP Tipps 2004 5 12.07.2004 16:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql feldname mit leerzeichen, mysql feldname mit leerzeichen, datenbank feldname leerzeichen, sql feldnamen mit leerzeichen, sql feldname leerzeichen, mysql eintrag mit leerzeichen anzeigen, mysql feldnamen mit leerzeichen, mysql php feld mit leerzeichen, wieso name nicht name sondern 1? php, sql feldnamen leerzeichen, mysql leerzeichen in \feldname\, sql feldeintrag leerzeichen auslesen, sql leerzeichen in variable, \vb net\ leerzeichen wird ignoriert select, php name mit leerzeichen, mysql leerzeichen feldnamen, php sql feldnamen mit leerzeichen, php felder mit leerzeichen, php felder mit leerzeichen werden, php feldname mit leerzeichen

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.