• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Datenbank/Tabellenmanagement-Userverwaltung

newmacuser24

Antonowka
Registriert
27.12.05
Beiträge
355
Hallo,
hätte eine Frage zum Datenbank/Tabellenmanagement (MySQL). Wenn man eine unbestimmte Anzahl von Benutzern verwaltet, so stelle ich mir vor, ist es am besten, wenn man sie alle in eine Tabelle schreibt. Jetzt stellt sich mir die Frage, was man mit individuellen Einstellungen macht, die user in ihrem Profil machen können (z.B.: homepage angeben, etc...) Legt man da für jeden Benutzer eine eigene Tabelle an, oder wirft alles in eine Tabelle und filtert dann mit Suchkriterien, wenn man dem jeweiligen Benutzer sein Profil anzeigt? Hoffe, ich hab das einigermassen verständlich erklärt ;)

Danke im Voraus!
 

fealXX

Granny Smith
Registriert
05.02.08
Beiträge
15
eine tabelle user mit passwort und name und id
und eine tabelle mit userid und den einstellungen
 

newmacuser24

Antonowka
Registriert
27.12.05
Beiträge
355
Um nicht einen neuen Thread öffnen zu müssen, dachte ich, ich poste es einfach mal hier...
Wenn ich aus der Tabelle nun Daten auslese und in eine Menüliste schreibe, so wird die id ein wenig sonderbar ausgegeben.
Die Tabelle besteht aus: id, Produktname, Eigenschaften, etc...

Hier der Code, den ich verwende, um die Daten aus der MySQL-Datenbank zu holen und in die Liste reinzuladen:

...zunächst mal mit DB connecten, etc...

PHP:
<select name="items" id="items">
        <option value="#">Bitte wählen</option> 
        <?
         $sql="SELECT * FROM products_db WHERE Eigenschaften LIKE '$size' ORDER BY Produktname ASC";
	 $result=mysql_query($sql);
	
		while($zeile = mysql_fetch_array($result)){
	?>
               <option value= <? echo $zeile['id']; ?>"><?php echo $zeile['Produktname'];
		?></option>
                <?
		}
		?>

Die id wird anstatt 1,2,3,4,5 mit 1/" oder 2/" oder 3/",etc... ausgegeben.
In der Datenbank ist sie aber als INT angelegt.

Was kann da bloß sein?

Danke im Voraus!
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
hallo…
könnte an einem fehlendem Hochkomma in dieser Zeile hier liegen:
Code:
<option value=[COLOR="Red"]"[/COLOR]<? echo $zeile['id']; ?>"><?php echo $zeile['Produktname'];
 

fealXX

Granny Smith
Registriert
05.02.08
Beiträge
15
Code:
 <select name="items" id="items">
        <option value="#">Bitte wählen</option> 
        <?
         $sql=[COLOR=Red]'[/COLOR]SELECT * FROM products_db WHERE Eigenschaften LIKE [COLOR=Red]`'.addslashes([/COLOR]$size[COLOR=Red]).'`[/COLOR] ORDER BY Produktname ASC[COLOR=Red]'[/COLOR];
     $result=mysql_query($sql);
 
        while($zeile = mysql_fetch_array($result)){[LEFT][COLOR=Red]echo'[/COLOR]<option value=[COLOR=Red]"'.[/COLOR]$zeile['id'][COLOR=Red].'[/COLOR]">[COLOR=Red]'.[/COLOR]$zeile['Produktname'][COLOR=Red].'[/COLOR]</option>[COLOR=Red]';[/COLOR]
[/LEFT]
         }
        ?>
erzähl ma obs so geht
ansonsten hab ich noch ne andere idee
 

newmacuser24

Antonowka
Registriert
27.12.05
Beiträge
355
Vielen Dank! Hab die Lösung von creative7even ausprobiert und hat sofort geklappt. War das fehlende Hochkomma. Da schätzt man dann wieder die Programmiersprachen, die eine SYNTAX ERROR ausgeben ;)
 

creative7even

Jerseymac
Registriert
23.02.05
Beiträge
454
…Da schätzt man dann wieder die Programmiersprachen, die eine SYNTAX ERROR ausgeben ;)

Sei froh dass keine Syntax-Error ausgeworfen werden. Da würden man beim Surfen durchs www einen Schreikrampf bekommen. Für validen HTML-Code gibt es den Validator: http://validator.w3.org/. Der würde bspw. auch fehlende Hochkomma finden.

Und noch was:
Die SQL-Statements benötigen noch etwas Aufmerksamkeit (SQL-Injection):
Code:
$query = sprintf("select * from products_db where Eigenschaften like '%s' order by Produktname ASC", mysql_real_escape_string($size));
$result = mysql_query($query);

such mal nach "mysql_real_escape_string" im php-Manual.

lg.c7