Avatar billede gertwahl Nybegynder
17. december 2010 - 12:37 Der er 14 kommentarer og
1 løsning

Sidste record i tabellen

Dette er nok kanske simpelt
er der nogen der har et script til altid at vise den sidste record i en tabel

De bedste hilsner

Gert
Avatar billede michael_stim Ekspert
17. december 2010 - 12:46 #1
Har du et id eller lignende?

SELECT * FROM table_name ORDER BY sort_column DESC LIMIT 1;
Avatar billede majbom Novice
17. december 2010 - 12:52 #2
eller SELECT LAST_INSERT_ID()
Avatar billede majbom Novice
17. december 2010 - 12:53 #3
eller bare mysql_insert_id() direkte i din php-kode (kræver selvfølgelig en åben forbindelse til db'en)
Avatar billede gertwahl Nybegynder
17. december 2010 - 13:07 #4
mysql_select_db($database_ny, $ny);
$query_Recordset2 = "SELECT LAST_INSERT_ID('id') FROM veteranreferat";
$Recordset2 = mysql_query($query_Recordset2, $ny) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);


sådan eller ?
Avatar billede erikjacobsen Ekspert
17. december 2010 - 13:27 #5
last_insert_id (og den tilsvarende i PHP) giver kun et fornuftig resultat, hvis der lige er blevet indsat en record, med autoincrement.

Det spørgeren skal bruge er nok noget med


  SELECT * FROM den_der_tabel ORDER BY id DESC LIMIT 1

...hvis der findes et voksende id, eller noget andet, der bestemmer en rækkefølge.
Avatar billede gertwahl Nybegynder
17. december 2010 - 13:35 #6
Jeg kan godt få den sidste record i tabellen med en $totalRecord, men det er id'en jeg skal bruge - hvis en record bliver slettet kan jeg ikke længere tælle mig frem.


Jeg er meget ny i PhP



Mvh

Gert
Avatar billede michael_stim Ekspert
17. december 2010 - 13:49 #7
OK, inden dette bliver en kæmpe gætteleg, kan du så ikke vise noget kode og noget tabelstruktur ;o)
Avatar billede erikjacobsen Ekspert
17. december 2010 - 13:51 #8
...eller bare få at vide, hvad præcis du skal bruge den sidste record, eller den sidste id, til?
Avatar billede webweaver Praktikant
17. december 2010 - 13:52 #9
Du skal bruge id på den sidste række i tabellen eller?
Hvis du har autoincrement, kan du ikke bruge dit id til at vise antallet af rækker, hvis der er slettet nogle nej. Så skal der tælles. Hvad er det du ønsker helt præcist?

Denne vil som sagt hente id ud på sidste række.
SELECT íd FROM veteranreferat ORDER BY id DESC LIMIT 1
Avatar billede gertwahl Nybegynder
17. december 2010 - 14:17 #10
Jeg skal bruge den sidste record i tabellen der henviser til et Pdf dokument der skal vises på en referatside - det skal altid være det sidste referat der skal ligge først

her er lidt kode

$colname_Recordset1 = ?;
if (isset($_GET['id'])) {
  $colname_Recordset1 = $_GET['id'];
}
mysql_select_db($database_ny, $ny);
$query_Recordset1 = sprintf("SELECT * FROM veteranreferat WHERE id = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $ny) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
<?php
$link = $row_Recordset1['referat'];
   
?>

<div id="apDiv8">
  <p>
    <embed src="<?php echo $link;?>"  width="760" height="361"></embed>
  </p>
  <p>&nbsp;</p>
</div>
Avatar billede gertwahl Nybegynder
17. december 2010 - 23:31 #11
Ja det endte med at se sådan ud

mysql_select_db($database_ny, $ny);
$query_Recordset2 = "SELECT * FROM veteranreferat ORDER BY  id DESC LIMIT 1";

$Recordset2 = mysql_query($query_Recordset2, $ny) or die(mysql_error());
$row_Recordset2 = mysql_fetch_assoc($Recordset2);
$totalRows_Recordset2 = mysql_num_rows($Recordset2);
echo $row_Recordset2['id'];



$colname_Recordset1 = $row_Recordset2['id'];
if (isset($_GET['id'])) {
  $colname_Recordset1 = $_GET['id'];
}
mysql_select_db($database_ny, $ny);
$query_Recordset1 = sprintf("SELECT * FROM veteranreferat WHERE id = %s", GetSQLValueString($colname_Recordset1, "int"));
$Recordset1 = mysql_query($query_Recordset1, $ny) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

så var det ligegyldigt hvilken record der blev slettet jeg fik den sidste indsatte record - ganske som jeg gerne ville

mvh

Gert
Avatar billede gertwahl Nybegynder
17. december 2010 - 23:33 #12
Jeg ville gerne give erikjacobsen point - men jeg kan stadig ikke få pointsystemmet til at virke


mvh

Gert
Avatar billede erikjacobsen Ekspert
18. december 2010 - 00:05 #13
Jeg samler ikke på point, tak (ja, jeg er underlig). Men du kan måske be' webweaver lægge et svar, for han er inde på det samme.
Avatar billede gertwahl Nybegynder
18. december 2010 - 00:34 #14
Hej webweaver kan du ikke lægge et svar ud så du kan få point

mvh
Gert
Avatar billede webweaver Praktikant
18. december 2010 - 00:45 #15
Tjoo, det kan jeg da godt :)
Men jeg gentog nu egentlig bare erikjacobsen's SQL statement.

Men det er godt at det virker for dig nu.

God weekend og god jul til alle :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester