login  Naam:   Wachtwoord: 
Registreer je!
 Forum

id van reactie gelijk aan hoeveelste reactie op nieuwspost (Opgelost)

Offline FrankL - 23/08/2010 21:27
Avatar van FrankLLid Beste leden,

Ik vond het lastig om een goede titel voor dit topic te bedenken en zal het probleem waarmee ik zit wat duidelijker uitleggen:
Ik heb een prima nieuwssysteem ontworpen met ledensysteem en reacties en dergelijke. Echter, ik wil nu dat als ik een reactie verwijder vanwege bijvoorbeeld schelden of iets dergelijks dat de reactieid van de volgende reactie die al geplaatst 1 lager wordt om zo netjes bij te kunnen houden hoeveel reacties er zijn gepost.

Nu maakt het voor de database niet uit, immers kan ik zelf in phpmyadmin count(id) where nieuwsid=1 doen bijvoorbeeld.

Maar op de plek waar de bezoekers de reacties kunnen zien wil ik dat hun netjes zien:
Reactie <nummer>....
nu kan ik er wel de id van maken die de reactie heeft in de database, maar als ik er 1 verwijder krijg je dus bijvoorbeeld:
reactie 1
reactie 3
en dat wil ik niet. Bestaat er een methode dat je dus per reactie op nieuwspost, <nummer> omhoog kan laten gaan en dat hij dus telt hoeveel reacties op de nieuwspost er al staan.

Het script om reacties te laten zien:
http://www.plaatscode.be/139880/

Overigens, het rammelt vast aan alle kanten. Ik heb nog nooit zo'n groot project als waar ik nu meebezig ben gemaakt, zelf ledensysteem, nieuwssysteem, quotes,pool,profielsysteem geschreven. Alleen de lay-out van mijn site is zo'n gratis lay-out 

4 antwoorden

Gesponsorde links
Offline Martijn - 23/08/2010 22:40
Avatar van Martijn Crew PHP je heb je tabel dan een beetje verkeerd ingedeeld. Je kunt beter in je 'nieuws' tabel de kolom 'reacties' toevoegen, en elke keer dat er een reply wordt gemaakt, die +1 doen. En als je iets verwijderd -1. Op die manier kun je je autoncrement zn gang laten gaan en gaan er, als je je systeem uitbouw, geen problemen ontstaan omdat dingen niet meer aansluiten.

En anders mysql_num_rows doen op n query waar je de replies selecteerd, maar dat is wat minder vriendelijk voor je Db als je dat teveel doet
Offline FrankL - 24/08/2010 00:02
Avatar van FrankL Lid Hm dat zou kunnen en dan bij de pagina waar ik de reacties toen, die kolom ophalen en dan met een for($x<$totaalreacties; $x++){ echo $x; } doen inprincipe?

Ik zal het eens gaan proberen. Alvast bedankt!
Offline Maarten - 24/08/2010 00:40
Avatar van Maarten Erelid Of gewoon iets à la het volgende (pseudo):
i = 1 (of startpunt pagina, bv. 21 als je 20 per pagina toont)
for each mysql result (berichten gesorteerd op datum met evt paginatie
"reactie i"
mysql result (bericht)
i++
end for each

En dan maakt het toch niet uit wat het ID juist is? En is toch net iets minder complex lijkt mij.
Offline FrankL - 24/08/2010 01:36
Avatar van FrankL Lid uhm
ik heb nu dit gedaan:
$i=0;
while(...)
{
$i++;
echo "reactie ".$i." .....";
}
zegmaar
en dan werkt het ook^^
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s