Sortare table! Important!
Moderatori: Zamolxe, Moderatori
Sortare table! Important!
Sunt un noob la chestii dastea si mi-am creat o baza de date, merge bine, dar am o problema: de ex am daugat date in baza de date numerotate cu 1,2,3,4,5... si daca eu sterg linia 2 din baza mi se va afisa asa: 1,3,4,5 si as doi sa ma ajutati, sa-mi spuneti ce sa fac sa imi ordoneze tabelul automat, in ordine corecta 1,2,3,4. Va multumesc. Astept raspuns
-
dechim
- Senior Member
- Mesaje: 1486
- Membru din: Mar Mai 10, 2005 11:53 pm
- Localitate: Drobeta Turnu Severin
Tabelul este sortat chiar daca lipsesc o parte din inregistrari.
Liniile (inregistrarile) nu pot fi numerotate, exista probabil un camp ID AUTO_INCREMENT si care este PRIMARY KEY.
Iata comenzile MySQL prin care ID revine la valori crescatoare cu ratia 1:
Multumit ?
Liniile (inregistrarile) nu pot fi numerotate, exista probabil un camp ID AUTO_INCREMENT si care este PRIMARY KEY.
Iata comenzile MySQL prin care ID revine la valori crescatoare cu ratia 1:
Cod: Selectaţi tot
ALTER TABLE nume_tabela DROP COLUMN id;
ALTER TABLE nume_tabela ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY;
Multumit ?
Mda...stiu ca nu imi va afecta baza...dar vroiam sa stiu daca se poate deoarece v-a trebui sa listez baza si imi trebuie sa fie numerele consecutive si ordonate asa cum am spus mai sus, altfel nu o sa imi foloseasca si o sa continuu cu excel sau word. Daca se poate va rog explicati-mi mai pe larg, sunt incepator
...
(editare subiect) Mda uite am reusit cu codul care mi l-ai dat tu, se poate sa introduc acel cod intr-un fisier php si as dori ca id-ul sa nu se puna la sfarsit...ci la inceputul tabelei, altfel nu o sa-mi foloseasca...
(editare subiect) Mda uite am reusit cu codul care mi l-ai dat tu, se poate sa introduc acel cod intr-un fisier php si as dori ca id-ul sa nu se puna la sfarsit...ci la inceputul tabelei, altfel nu o sa-mi foloseasca...
Ideea e ca faci degeaba alter table daca ai coloana aia cheie primara(desi nu specifici dar si daca nu e cheie nu cred ca se merita).NU isi are rost sa schimbi de fiecare data valorile acelei linii care te intereseaza adica din 1,2,4,5 sa faci 1,2,3,4 mai bine fa tu ceva de genul: in scriptul PHP tine o variabila pe care o incrementezi pe masura ce afisezi randuri din tabel.Ca sa fiu mai explicit uite codul:
<?php
$link= mysql_connect('hostultau','user','password');
mysql_select_db('bazatade date');
$query=mysql_query('SELECT * FROM tabelulTau');
echo("<table>");
$inc=0; //asta e variabila de care ziceam mai sus
while($rezultat=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>Datele de vrei tu sa le scoti merg aici</td></tr>");
}
echo("</table>");
mysql_close($link);
vezi ca in while am facut echo la variabila $inc asta asigura ca pe pagina ta vor fi numerotate la rand indiferent de id-ul din tabel (Solutia e viabila daca tu nu folosesti undeva in calcule id-urile alea de nu vor mai fi consecutive).
Daca vrei sa stii mai multe de cheile primare uite aici un articol care enumera si ce proprietati are o cheie:http://articles.techrepublic.com.com/5100-22-1045050.html
<?php
$link= mysql_connect('hostultau','user','password');
mysql_select_db('bazatade date');
$query=mysql_query('SELECT * FROM tabelulTau');
echo("<table>");
$inc=0; //asta e variabila de care ziceam mai sus
while($rezultat=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>Datele de vrei tu sa le scoti merg aici</td></tr>");
}
echo("</table>");
mysql_close($link);
vezi ca in while am facut echo la variabila $inc asta asigura ca pe pagina ta vor fi numerotate la rand indiferent de id-ul din tabel (Solutia e viabila daca tu nu folosesti undeva in calcule id-urile alea de nu vor mai fi consecutive).
Daca vrei sa stii mai multe de cheile primare uite aici un articol care enumera si ce proprietati are o cheie:http://articles.techrepublic.com.com/5100-22-1045050.html
Ultima oară modificat Dum Oct 28, 2007 2:29 pm de către griffin, modificat 1 dată în total.
fii atent ca am facut o mica rectificare la functia de conectare la baza de date(ii gresisem numele
) si nu uita sa pui ce parametrii trebuie la mysql_connect adica hostul (cred ca la tine e localhost) utilizatorul (cred ca ai root) si parola de la Mysql;Modifica si numele bazei de date in mysql_select_db() ---pune numele bazei tale si nu uite ca in mysql_query sa pui numele tabelului tau Asa ar trebui sa mearga
Incerc acum, mda...pai stiu ce tre sa modific...chiar atata stiu
). Eu am facut cu include 'conexiune.php';
<?php
include "conexiune.php";
$query=mysql_query('SELECT * FROM register');
echo("<table>");
$inc=0; //asta e variabila de care ziceam mai sus
while($rezultat=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>Nume</td><td>Prenume</td><td>Email</td><td>Adresa</td></tr>");
}
echo("</table>");
mysql_close($conexiune);
?>
Gata ca am reusit...am facut asa:
<?php
include "conexiune.php";
$query=mysql_query('SELECT * FROM register');
echo("<table>");
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td><td>Email</td><td>Adresa</td></tr>";
$inc=0; //asta e variabila de care ziceam mai sus
while($row=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>");
}
echo("</table>");
mysql_close($conexiune);
?>
<?php
include "conexiune.php";
$query=mysql_query('SELECT * FROM register');
echo("<table>");
$inc=0; //asta e variabila de care ziceam mai sus
while($rezultat=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>Nume</td><td>Prenume</td><td>Email</td><td>Adresa</td></tr>");
}
echo("</table>");
mysql_close($conexiune);
?>
Gata ca am reusit...am facut asa:
<?php
include "conexiune.php";
$query=mysql_query('SELECT * FROM register');
echo("<table>");
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td><td>Email</td><td>Adresa</td></tr>";
$inc=0; //asta e variabila de care ziceam mai sus
while($row=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>");
}
echo("</table>");
mysql_close($conexiune);
?>
Stepy2005 scrie:Incerc acum, mda...pai stiu ce tre sa modific...chiar atata stiu). Eu am facut cu include 'conexiune.php';
<?php
include "conexiune.php";
$query=mysql_query('SELECT * FROM register');
echo("<table>");
$inc=0; //asta e variabila de care ziceam mai sus
while($rezultat=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>Nume</td><td>Prenume</td><td>Email</td><td>Adresa</td></tr>");
}
echo("</table>");
mysql_close($conexiune);
?>
Gata ca am reusit...am facut asa:
<?php
include "conexiune.php";
$query=mysql_query('SELECT * FROM register');
echo("<table>");
echo "<tr><td>ID</td><td>Nume</td><td>Prenume</td><td>Email</td><td>Adresa</td></tr>";
$inc=0; //asta e variabila de care ziceam mai sus
while($row=mysql_fetch_array($query))
{
$inc++;
echo("<tr><td>$inc</td><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td><td>$row[3]</td></tr>");
}
echo("</table>");
mysql_close($conexiune);
?>
dat totusi imi poate spune cineva...daca pot muta linia "ID" la inceputul tabelului?
-
dechim
- Senior Member
- Mesaje: 1486
- Membru din: Mar Mai 10, 2005 11:53 pm
- Localitate: Drobeta Turnu Severin
Cod: Selectaţi tot
ALTER TABLE nume_tabela DROP COLUMN id;
ALTER TABLE nume_tabela ADD COLUMN id INT FIRST AUTO_INCREMENT PRIMARY KEY;
Asa merge sa pui ID ca prima coloana, da' nu de asta ai nevoie, le numeri cu PHP-ul cum incearca sa-ti spuna @griffin si @madTrax
Ultima oară modificat Mar Oct 30, 2007 12:00 am de către dechim, modificat 1 dată în total.
-
dechim
- Senior Member
- Mesaje: 1486
- Membru din: Mar Mai 10, 2005 11:53 pm
- Localitate: Drobeta Turnu Severin
Vezi aici:
http://www.zend.com/code/codex.php?CID=341
http://www.zend.com/code/codex.php?CID=341
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 16 vizitatori