Ik heb hier een klein probleempje:
<?php
if ($fab_id !== "0") {
mysql_query("UPDATE SIRIS_data_link SET nws_id='$nws_id' WHERE m_id='$fab_id'");
mysql_query("UPDATE SIRIS_data_link SET fab_id='$fab_id' WHERE m_id='$nws_id'");
}
?>
Alleen de eerste update word ook uitgevoerd, de tweede werkt niet, hetr maakt geen verschil als ik ze omdraai.
Iemand een sugestie?
Bedankt, Tim
Slechte topictitel
Zorg ervoor dat je topic titel een goede, duidelijke naam heeft; 'hulp gevraagd', 'help' en 'hij doet het niet' zijn dus geen goede voorbeelden. Je kan je titel wijzigen door in je eerste post op het te klikken.
Ik heb de vars nu buiten de quotus. Maar dat maakt niks uit.
En er zijn ook geen errors te zien, helemaal niks. De eerste regel word ook zonder problemen uitgevoerd, de 2e doet helemaal niets.
nws_id komt wel degelijk voor, want als ik ze omdraai werkt de bovenste gewoon (de anderen regel dus). Onder deze regels echo ik de 2 vars en die komen er dan ook gewoon te staan.
<?php
$pub_date = date("Y-m-d H:i:s");
// vraag het laatste ID op.
$nws_id= mysql_insert_id();
// maak een data entry aan.
mysql_query("INSERT INTO SIRIS_data_link (m_id,nws_id) VALUES ('$nws_id','$nws_id')");
// update de nieuwe rij, en de tegen partij.
if ($fab_id !== "0") {
mysql_query("UPDATE SIRIS_data_link SET nws_id=$nws_id WHERE m_id=$fab_id");
mysql_query("UPDATE SIRIS_data_link SET fab_id=$fab_id WHERE m_id=$nws_id");
}
print $nws_id;
?>
in phpmyadmin werken ze (zonder de vars) ook gewoon.
Leg eens uit wat nu de bedoelling is, van bovenstaande code klopt namelijk maar weinig. Waarom wil je in hemelsnaam een record invoeren en dit zelfde record met 2 aparte queries gaan updaten? Voer gewoon 1 goede INSERT uit en je bent vele malen sneller klaar.
Eerst het id opvragen in MySQL en dan pas de INSERT uitvoeren, kan niet, MySQL is namelijk niet zo'n hele slimme database. Om het héél voorzichtig uit te drukken...
Dit lijkt zo omdat dit alleen een deel is van het script:
<?php
$pub_date = date("Y-m-d H:i:s");
mysql_query("INSERT INTO SIRIS_nieuws (pub_date,edit_date,title,alinea1,alinea2,cate,link,foto1,foto2,foto3,foto4,foto5,soort,status)
VALUES ('$pub_date','$pub_date','$titel','$alinea1','$alinea2','$categorie','$link','$filename1','$filename2','$filename3','$filename4','$filename5','$soort','$status') ");
// vraag het laatste ID op.
$nws_id= mysql_insert_id();
// maak een data entry aan.
mysql_query("INSERT INTO SIRIS_data_link (m_id,nws_id) VALUES ('$nws_id','$nws_id')");
// update de nieuwe rij, en de tegen partij.
if ($fab_id !== "0") {
mysql_query("UPDATE SIRIS_data_link SET nws_id=$nws_id WHERE m_id=$fab_id");
mysql_query("UPDATE SIRIS_data_link SET fab_id=$fab_id WHERE m_id=$nws_id");
}
print $nws_id;
echo"<script language='JavaScript'>window.alert('Nieuwsbericht is toegevoegd');</script>";
}
?>
In de tabel data_link staat voor elke bericht een record.
De bedoeling is dus, dat er bij een nieuw bericht eerst een nieuw record word aangemaakt, en daarna word geupdate met het juist link naar een ander bericht, het anderen bericht heeft ook een record en deze moet dus ook zeg maar wederzijds worden geupdate, met de link van dit nieuwe bericht.
1. niet bumpen aub
2. ik snap niet waarom je het moet updaten en niet rechstreeks in een INSERT kan toevoegen, mischien kan een uitgewerkte voorbeeld wonderen doen