WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Printa senast inlagda ID (https://www.wn.se/forum/showthread.php?t=1044950)

inpbox 2010-11-21 17:38

Printa senast inlagda ID
 
Hej!

Jag har ett formulär som hämtar flera olika sorters info, bland annat med bilder och liknande.

Jag har en önskan om att kunna printa de såhär på min sida:

[id 1] [id 2] [id 3]
[id 3] [id 4] [id 5]
[id 6] [id 7] [id 8]
[id 9] [id 10] [id 11]

Medan de nu ser ut såhär:

id 1
id 2
id 3
id 4
id 5
id 6

Koden jag använder är som följande:

<?php

mysql_connect("localhost", "****", "*****") or die(mysql_error());
mysql_select_db("*******") or die(mysql_error());

$sql = "SELECT submission_id FROM ft_form_1 ORDER BY submission_id DESC LIMIT 0,1";

echo "<table border='0'>";

$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo "<tr><td>";
echo $row['submission_id'];
echo "</td></tr>";
}

echo "</table>";
?>



Jag är ingen mästare på det här med php och mysql, så förklara gärna så utförligt som möjligt :) Har sett något kommando vid namn last_entry eller liknande, men har inte riktigt förstått hur jag ska implentera det.. Tacksam för all hjälp!

emilv 2010-11-21 17:44

Testa detta:

PHP-kod:

$result mysql_query($sql) or die(mysql_error());
$i 0;
echo 
'<tr>';
while (
$row mysql_fetch_assoc($result)) {
  if(
$i == && $i != 0) {
    echo 
'</tr><tr>';
  }
  echo 
'<td>'$row['submission_id'], '</td>';
}
echo 
'</tr>'


inpbox 2010-11-21 18:02

Citat:

Ursprungligen postat av emilv (Inlägg 20379061)
Testa detta:

PHP-kod:

$result mysql_query($sql) or die(mysql_error());
$i 0;
echo 
'<tr>';
while (
$row mysql_fetch_assoc($result)) {
  if(
$i == && $i != 0) {
    echo 
'</tr><tr>';
  }
  echo 
'<td>'$row['submission_id'], '</td>';
}
echo 
'</tr>'


Tror jag kom lite närmare med din hjälp i alla fall, nu printar den endast id nummer 3. Alltså endast en 3:a. Jag vet inte ifall det är för att koden hämtar just id 3 eller för att det är totalt 3 id's i databasen.

Allt går igenom Form Tools 2 som ligger på servern, vet inte ifall det kan ha något med det att göra? Det borde gå väldigt enkelt att bara välja de cols som jag vill åt, jag kan se det väldigt utförligt när jag loggar in på Formtools men jag kan inte få den att printa ut det på sidan :)

Hoppas det finns något sätt att få detta att fungera, denna koden har gjort mig galen i 3 dagar nu och jag får det verkligen inte att fungera trots att det verkar så enkelt! Jag får hämtat all info jag vill ha, men kan inte specificera det till endast ett id :(

forngren 2010-11-21 18:22

Tror Emil menade såhär:

PHP-kod:

$result mysql_query($sql) or die(mysql_error());
$i 0;
echo 
'<tr>';
while (
$row mysql_fetch_assoc($result)) {
  if(
$i &#37; 3 == 0 && $i != 0) {
    
echo '</tr><tr>';
  }
  echo 
'<td>'$row['submission_id'], '</td>';
  
$i++;
}
echo 
'</tr>'

(lagt till $i++; )

jayzee 2010-11-21 20:27

Citat:

Ursprungligen postat av forngren (Inlägg 20379065)
Tror Emil menade såhär:

PHP-kod:

$result mysql_query($sql) or die(mysql_error());
$i 0;
echo 
'<tr>';
while (
$row mysql_fetch_assoc($result)) {
  if(
$i == && $i != 0) {
    echo 
'</tr><tr>';
  }
  echo 
'<td>'$row['submission_id'], '</td>';
  
$i++;
}
echo 
'</tr>'

(lagt till $i++; )

forngren: Det verkar som dina procent-tecken blev HTML-encodade dock :)

inpbox 2010-11-21 21:33

Citat:

Ursprungligen postat av jayzee (Inlägg 20379073)
forngren: Det verkar som dina procent-tecken blev HTML-encodade dock :)

Jag må vara totalt retarded, men jag får det ändå inte att fungera. Det enda jag får ut är siffran 3.

Detta är den totala koden jag använder:

<?php

mysql_connect("localhost", "*****", "*******") or die(mysql_error());
mysql_select_db("******") or die(mysql_error());

$sql = "SELECT submission_id FROM ft_form_1 ORDER BY submission_id DESC LIMIT 12";

echo "<table border='0'>";

$result = mysql_query($sql) or die(mysql_error());
$i = 0;
echo '<tr>';
while ($row = mysql_fetch_assoc($result)) {
if($i % 3 == 0 && $i != 0) {
echo '</tr><tr>';
}
echo '<td>', $row['submission_id'], '</td>';
$i++;
}
echo '</tr>';
?>

emilv 2010-11-21 21:58

Hur många rader får du ut om du kör SQL-frågan för sig, till exempel direkt i MySQL-prompten eller via PHPMyAdmin?

inpbox 2010-11-21 22:06

Citat:

Ursprungligen postat av emilv (Inlägg 20379083)
Hur många rader får du ut om du kör SQL-frågan för sig, till exempel direkt i MySQL-prompten eller via PHPMyAdmin?

Får syntax error på:

$sql = "SELECT submission_id FROM ft_form_1 ORDER BY submission_id DESC LIMIT 12";

KarlRoos 2010-11-21 22:11

Kod:

echo '<ul id="lista">';

$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
echo '<li><span>' . $row['submission_id'] . '</span></li>';
}

echo '</ul>';

Med följande CSS:

Kod:

#lista
{width: 600px; border: 1px solid #eee; border-top: 0; border-left: 0; margin: 0; padding: 0;}

#lista li:last-child:after
{content: ""; clear: both;}

#lista li
{display: inline; margin: 0; padding: 0;}

#lista li span
{display: block; float: left; width: 179px; padding: 10px; text-align: center; border: 1px solid #eee; border-right: 0; border-bottom: 0;}

Om jag har förstått dig rätt :)


Alla tider är GMT +2. Klockan är nu 15:31.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson