hello people,

Na dagen sukkelen en prutsen heb ik uiteindelijk een redelijk deftig programma bij elkaar kunnen schrijven, maar nu heb ik nog één probleem waar ik echt gaan raad mee weet : qua code werkt alles zoals het zou moeten, maar het gaat fout tijdens het opslaan naar de databases.
De bedoeling is dat je concepten kan toevoegen in een database, en je kan elk concept een aantal links meegeven. Dit aantal links is echter nooit vast (kunnen er 2 zijn , of ook 20) dus heb ik twee tabels gemaakt, eentje die de naam en beschrijving van het concept opslaat (genaamd 'concept'), en dan een andere die de links opslaat (genaamd 'conceptlinks'). Elke link in de conceptlink table wordt dan natuurlijk vergezeld van de id van het concept waar het bijhoort. Dit werkt allemaal ok, op één groot probleem na :
Tijdens het testen mrkte ik dat de links voor één of andere bizarre reden gespiegeld opgeslaan werden. Maw als je een lijst van drie links opgeeft, en je schrijft alles weg naar de database, dan komt de wordt de laatste link eerst opgeslaan. Nochtans ben ik absoluut zeker dat ik nergens iets omdraai in de code die zorgt voor het wegschrijven vd data (nochtans merkte ik dat er altijd een vast patroon inzat, het was altijd mooi gespiegeld). Soit, dan heb ik maar mijn for loopje omgedraaid, zodat de laatste link eerst weggeschreven wordt en de eerste link laatst. Dit werkte al wat beter, driekwart van de tijd gebeurde alles correct. Tot ik op een gegeven moment merkte dat er toch nog iets misliep. Nu waren de links volledig willekeurig opgeslaan. Dus kan het toch niet aan mijn code liggen, maar moet het ergens mislopen bij de database zelf. Kan het zijn dat een database soms trager reageert bij sommige INSERT of UPDATE commandos en daardoor de links niet in de juiste volgorde opslaat? En wat kan je daaraan doen? Dit is echt heel belangrijk, want voor mijn eindtoepassing is het belangrijk dat de volgorde bewaart blijft, en als dit niet mogelijk is ka ik heel de boel in de vuilbak gooien :(

Iemand een idee? Bedankt!
Geen enkele newbie snapt waarom ze een script moeten posten :S:S :P
Of posten 2000 regels :)
:P

[edit]Heb je trouwens de (nieuwe) tables/rows ingevoerd?[/edit]
wel ja ik wil wel wat posten maar ik denk dat het niet aan mn script ligt, omdat het opslaan volledig random gebeurd, terwijl mijn natuurlijk niet random is. Maar soit, ik zet er het stukje bij waar ik denk dat het misgaat :

<php>
for ($i=0; $i<$nrlinks; $i++)
{
$ddnr = $nrlinks - $i;
$namedrop = "link".$ddnr;
if ($_POST[$namedrop] != "NULL")
{
$link_id = $_POST[$namedrop];
$linkupquery = "INSERT INTO linkup SET link_id ='$link_id', ext_id='$agenda_id', category='agenda'";
$linkupresult = mysql_query($linkupquery, $linkuphandler) or trigger_error (mysql_error ());
if (!$linkupresult) $linkerror++;
}
} // end insert linkup

<php>
wel ja ik wil wel wat posten maar ik denk dat het niet aan mn script ligt, omdat het opslaan volledig random gebeurd, terwijl mijn code natuurlijk niet random is. Maar soit, ik zet er het stukje bij waar ik denk dat het misgaat :

<?
for ($i=0; $i<$nrlinks; $i++)
{
$ddnr = $nrlinks - $i;
$namedrop = "link".$ddnr;
if ($_POST[$namedrop] != "NULL")
{
$link_id = $_POST[$namedrop];
$linkupquery = "INSERT INTO linkup SET link_id ='$link_id', ext_id='$agenda_id', category='agenda'";
$linkupresult = mysql_query($linkupquery, $linkuphandler) or trigger_error (mysql_error ());
if (!$linkupresult) $linkerror++;
}
} // end insert linkup

?>

edits : sorry ik vond de tags niet om een script te posten ;)

Reageren