ευρετήριο σε πίνακα

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
zekia
Δημοσιεύσεις: 146
Εγγραφή: 04 Μάιος 2004 16:38
Τοποθεσία: thessaloniki

ευρετήριο σε πίνακα

Δημοσίευση από zekia » 10 Δεκ 2008 14:05

Γειά σας,
θα ήθελα σε ένα πίνακα να μπορώ να έχω ένα πεδίο, έναν αριθμό για κάθε εγγραφή το οποίο να λειτουργεί σαν ευρετήριο. Αυτή τη στιγμή χρησιμοποιώ στον πίνακα ένα πεδίο id το οποίο παίρνει τιμές αυτόματα (auto increment) και λειτουργεί σαν κλειδί για τις εγγραφές.

Θα ήθελα όμως κάθε εγγραφή να έχει και ένα πεδίο το οποίο να δηλώνει τη θέση της εγγραφής στον πίνακα. Αν είναι η πρώτη, η δεύτερη, η τρίτη γραμμή. Δηλαδή αν έχω 4 εγγραφές στον πίνακά μου και το πεδίο που θέλω να προσθέσω έχει όνομα e, να είναι:
e=1 για την πρώτη εγγραφή ( id=35 ),
e=2 για την δεύτερη εγγραφή ( id=36 ),
e=3 για την τρίτη εγγραφή ( id=37 ),
e=4 για την τέταρτη εγγραφή ( id=38 ).

Αν εγω διαγράψω την εγγραφή με id=36, o πίνακας να γίνει αυτόματα:
e=1 για την πρώτη εγγραφή ( id=35 ),
e=2 για την δεύτερη εγγραφή ( id=37 ),
e=3 για την τρίτη εγγραφή ( id=38 ).

Πως μπορεί να γίνει αυτό;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6230
Εγγραφή: 30 Νοέμ 2004 03:09

ευρετήριο σε πίνακα

Δημοσίευση από fafos » 10 Δεκ 2008 15:57

Genika prepei na pareis kathe eggrafh meta apo authn pou thes na diagrapseis kai na afereseis 1 apo kathe eggrafh.. enas aplos tropos einai o parakato alla den ksero pos tha antidrasei h mysql an einai para polles oi eggrafes..

Κώδικας: Επιλογή όλων

<?
$id = $_GET&#91;id&#93;; //to id ths eggrafhs pou theloume na diagrapsoume

$dbname = 'onoma_vashs'; //onoma vashs

$conn = mysql_connect&#40;'localhost', 'root', ''&#41;;
$db = mysql_select_db&#40;$dbname,$conn&#41;;


//elenxos an to id yparxei
	$querycatp = "SELECT id FROM onoma_table WHERE id='$id'";
	$resultcatp = mysql_db_query&#40;$dbname, $querycatp, $conn&#41;;
		$result = mysql_fetch_array&#40;$resultcatp&#41;;





//kaloume oles tis eggrafes pou einai meta thn eggrafh pou diagrafoume
if&#40;$result&#91;id&#93; !=''&#41; &#123;

$onm = "SELECT  * FROM onoma_table WHERE id > '$id' ORDER BY e ASC";
$onm1 = mysql_query&#40;$onm&#41; or die&#40;mysql_error&#40;&#41;&#41;;
				
	while&#40;$onfix = mysql_fetch_array&#40;$onm1&#41;&#41;
	&#123;


$newe= $onfix&#91;e&#93;-1; // neo e

//kanoume update se oles tis eggrafes afairontas 1 gia kathe e
mysql_db_query&#40;$dbname, "UPDATE `onoma_table` SET `e`='$newe' WHERE `id`='$onfix&#91;id&#93;'"&#41;;

&#125;

//diagrafoume thn eggrafh

	$query = "DELETE FROM onoma_table WHERE id='$_GET&#91;id&#93;'";
	mysql_db_query&#40;$dbname, $query, $conn&#41;;
&#125;
?>
(diavase ta sxolia ston kodika)

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες