Vinnaren i pepparkakshustävlingen!
2008-01-27, 14:59
  #1
Medlem
Maninthemidles avatar
Jäklar, det funkar! Tack så mycket!
Det enda problem som kvarstår är att ID:t på kommentarerna ökar oavsett vilket inlägg de hör till. Jag är ganska säker på att det är ID:t's "extra" auto_increment som är orsaken, så detta problem är nog inte så svårt att lösa. Dock så har jag inte arbetat så mycket med databaser, så om någon här kunde få ID:t att öka endast per inlägg så vore jag glad.
Citera
2008-01-27, 15:13
  #2
Medlem
ojns avatar
Väldigt off-topic, men vafan.
Så vitt jag vet finns det ingen funktion för att ta bort auto_increment från en tabell, utan man får helt enkelt köra ALTER på den enligt följande:

Kod:
ALTER TABLE `foo` CHANGE `idd` `idd` INT( 11 ) NOT NULL
eller hur du nu vill ha den med null osv.
Citera
2008-01-27, 15:52
  #3
Medlem
Maninthemidles avatar
Nej men att ta bort auto_increment är inget problem, jag använder PhpMyAdmin. Men att öka en siffra manuellt per entryid, det är det jag undrar. Fungerar något i stil med följande?
Kod:
INSERT INTO comments SET id = id + 1 WHERE entryid = $idd
Som sagt, jag är usel när det gäller databas-förfrågor.
Citera
2008-01-27, 15:59
  #4
Medlem
ojns avatar
Bröt ut inlägg från http://www.flashback.org/showthread.php?t=612277 och satte vad som mycket väl kan vara forumets sämsta rubrik. Jag förstod dock inte exakt vad du menade, så svårt att sätta en korrekt.
/Mod
Citera
2008-01-27, 16:00
  #5
Medlem
ojns avatar
Tolkar jag dig rätt om jag säger att du har en tabell med två stycken int-fält, ett med inläggs-id:t för själva blogginlägget och ett annat för kommentators-idt? Om jag antar rätt har jag isf. ett par saker att anmärka på senare.
Citera
2008-01-27, 16:14
  #6
Medlem
Maninthemidles avatar
Det är helt rätt.
id = ID för en kommentar
entryid = ID för blogg-inlägg
Citera
2008-01-27, 16:59
  #7
Medlem
ojns avatar
Visst kan du köra set idd = $idd+1.
jag skulle ju dock separera på inlägg och kommentarer.

En tabell med alla inlägg - id(PK*), inlagg(TEXT) osv. // *Primärnyckel
En tabell med alla kommentarer - id(PK), iid (främmande nyckel->inlagg.id), kommentar(TEXT) osv.

Auto_increement på åtminstone kommentar.id

När någon sedan postar en kommentar behöver du bara slänga in inläggs-id:t (iid)

Sen när du ska hämta alla kommentarer till ett visst inlägg gör du detta från tabellen kommentar
Kod:
$iid $_GET['iid']; // Blogginläggets id.
$sql "SELECT id,kommentar FROM kommentar WHERE iid=$iid";
$result mysql_query($sql);
$kommentar 1;
while (
$row mysql_fetch_array($result))
{
   echo 
"Kommentar " $kommentar "<br />";
   echo 
$row['kommentar'] . "<br /><br />";
   
$kommentar++;

Inte testat koden, men något åt det hållet iaf.
Citera
2008-01-27, 17:05
  #8
Medlem
Maninthemidles avatar
De var redan i två olika tabeller, men nu känns det som att jag ska kunna lösa det här. Tack så mycket.
Citera
2008-01-27, 17:07
  #9
Medlem
ojns avatar
Då är vi överens. Lycka till.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback