Neue Spalte in MySQL soll ganz oben stehen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anfrage
art
befehl
code
einsetzen
eintrag
ergebnis
feld
format
letztes problem
machen
ordern
schleife
spalte
spalten
stern
tabelle
typ
zeile
-
Hallo,
ich habe mir einen eigenen Login Bereich gebaut, in dem man quasi die komplette HP umbauen kann.
Naja, undter anderm kann man neue News-Beitr?ge schreiben, die dann in einer MySQL-Tabelle festgehalten werden. Wenn ich jetzt einen neuen Eintrag mache, wird der jedoch ganz nach unten gestellt.
Wie kann ich das machen, dass der immer nach oben gestellt wird? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Aslo mal langsam hier....
Ich soll also eine Tabelle mit 3 Spalten machen?
Die eine nenne ich Datum, die andere News und dann noch eine die id hei?t.
Und bei der Spalte id muss ich dann hinten (ich arbeite in der Regel mit PHPMyAdmin) auto_increment aktivieren.
So, und welches "Format" soll die id-Spalte haben? Also TEXT, VARCHAR oder was?
Wenn ich VARCHAR mit einer Gr??e von 10 nehme, sacht er das:
MySQL meldet:
#1063 - Incorrect column specifier for column 'id'
Warum? -
id muss vom typ INT sein, sonst kann des von auto_increment nicht hochgez?hlt werden
-
Das haut nicht ganz hin, dann sacht er das:
#1075 - Incorrect table definition; There can only be one auto column and it must be defined as a key
Warum?
Damit ich nichts falsch gemacht habe, habe ich mal einen Screeny hochgeladen:
http://jacky2k.milten.lima-city.de/datenbank.jpg
Ist das alles richtig?
-
mhm also mach mal die l?nge vom id feld noch auf 11 oder so!
dann klickste beim id feld noch prim?rschl?ssel an!
wenn du im zeit oder time feld oder wie du es genannt hast nen unix timestamp per php benutzten w?rdest k?nntest du dir das id feld auch sparen!
auf jedenfall wenn du mit id machst dann muss das order by ... in den mysql query in deinem php script mit rein!
EDIT: h3h3 stimmt ich war schneller ;)
aber normalerweise muss mal den nicht setzten glaube ich! ich machs nie und es funzt trotzdem allerdings benutzte ich auch die neueste version von phpmyadmin ;) -
Ich glaub ich hab den fehler:
du muss noch "Prim?rschl?ssel" ausw?hlen
EDIT: Da war wohl einer schneller als ich -
Hab ich in zischen auch rausbekommen, aber wo muss ich jetzt das hier einsetzen?
ORDER BY `id` DESC -
SELECT * FROM `news` ORDER BY `id` DESC
ich kanns nur immer wieder sagen benutzt die ` bei allen tabellennamen und feldernamen usw. wenn ihr mal nahmen mit _ nehmen solltet oder ne ander sql art oder seis nur als schutz vor sql injections!
aber bitte butzt die ` weil ihr sonst sp?ter mal viel arbeit haben werdet! -
So, das geht, aber ein letztes Problem:
Der Zeigt die Spalte 'id' jetzt auch an....
hier is der code:
<h1 align="center">News</h1><br><br>
<?php
$db=mysql_connect("193.201.54.45", "***", "***");
mysql_select_db("***");
$anfrage="SELECT * FROM News ORDER BY `id` DESC";
$ergebnis=mysql_query ($anfrage);
// Tabelle aufbauen
print ("<table border='1' align='center'>");
//Tabellenkopf ausgeben
$spaltenanzahl=mysql_num_fields($ergebnis);
for ($i=0;$i<$spaltenanzahl;$i++) {
print("<th valign='top'>");
print(mysql_field_name($ergebnis,$i));
print ("</th>");
}
while ($zeile=mysql_fetch_row($ergebnis)) {
print("<tr valign='top'>");
for ($i=0;$i<$spaltenanzahl;$i++) {
print ("<td>");
print ($zeile[$i]);
print ("</td>");
}
print ("</tr>");
}
print ("</table>");
mysql_close($db);
?> -
?nder mal diese Zeile:
$anfrage="SELECT * FROM News ORDER BY `id` DESC";
statt dem * gibst du einfach die anzuzeigenden Spalten an:
Beispiel
$anfrage="SELECT spalte1, spalte2, spalte3 FROM News ORDER BY `id` DESC";
Der Stern steht einfach f?r "alle" da! -
ich will etz hier keinen code posten, nur
normalerweise macht man soetwas mit einer while schleife und dem mysql_fetch_array oder mysql_fetch_row befehl! -
Ich habs ein bisschen anders gemacht:
Da stand ja das:
$spaltenanzahl=mysql_num_fields($ergebnis);
und dann hab ich einfach noch das drnageh?ngt:
$spaltenanzahl = $spaltenanzahl - 1;
Geht auch wunderbar.... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage