Bestehende Artikel durch neuen Artikel ersetzen wenn Überschrift und Kat. gleich

Begonnen von riecon, 08 Februar 2008, 17:21:08

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

riecon

Hallo @all,

so, nun muss ich doch auch mal meine Frage posten.

Habe seit 2 Wochen das pragmaMx 0.1.9, 1.20.4.18/2006-12-11 und bereits viel nach meinen Vorstellungen ändern können.

Nun suche ich nach einer Lösung oder einem Lösungsansatz für folgendes Problem:

Ich möchte, wenn sich ein Artikel im Artikeleingang befindet, und ich diesen veröffentliche, dass ein möglicherweise bestehender Artikel, der die gleiche Überschrift besitzt und sich in der gleichen Kategorie befindet, durch den neuen Artikel ersetzt wird --> sprich alten Artikel löschen oder updaten wenn ich auf ok klicke^^.

Wenn die obigen Bedingungen nicht erfüllt werden, dann soll der Artikel wie gewohnt veröffentlicht werden.

Die Änderungen müssten ja, wenn ich recht in der Annahme gehe, durch eine klassische if / else - Abfrage in der stories.php vorgenommen werden. Frage ist jetzt, wo genau und wie. :gruebel:

Wäre super, wenn mir da ein fachkundiger Pragma / PHP - Progger unter die Arme greifen könnte.

Ich bedanke mich schon mal im vorraus für die Hilfe. :thumbup:

Grützi Robert


bajazzo

Hi,
Ideen gibt es immer, ob die dann sinnvoll sind, ist die zweite Frage.
An deiner Stelle wurde ich auf verschiedene Abfragen verzichten, weil:
- etwender muss der Titel auf Zeichen genau der gleiche sein
- oder du brauchst einen Ähnlichkeitstest-routine was dann doch letztendlich nur vorschläge machen darf

Einfachste Lösung wäre in der Adminmaske eine Auswahl bestehender Artikel einzufügen mit einem Checkbox davor, und das vor dem Vorschau/speichern Button. Wenn checkbox nicht aktiviert dann alles wie gehabt, sonst ersetze ausgewähltes Artikel.
Genie ist die grenzenlose Bereitschaft, sich Mühe zu geben.

riecon

Hi bajazzo,

vielen Dank erstmal für deine Antwort. Also der Titel ist immer entweder auf Zeichen genau der gleiche, oder unterschiedlich. Hört sich komisch an, ich erkläre jetzt aber mal kurz den Sinn der Sache.

Ich missbrauche das PragaMx CMS als Anzeigenportal. Hierbei habe ich viele verschiedene Kunden, die (solange Sie bei mir Kunde sind) genau eine Chiffrenummer bekommen (z.b. 1100111), welche zugleich ihr Mitgliedsname ist. Artikel dürfen meine Kunden über ein eigenes erstelltes Formular schreiben, welches die Chiffrenummer des Kunden (also 1100111) als Überschrift in der ***_queue Abspeichert. 

Ich sichte darauf hin kurz die Artikel im Artikeleingang, dass keine Verstöße gegen geltende Gesetze vorhanden sind, und erstelle den Beitrag (in dem Fall ein neuer Beitrag).

Nun ist es so, dass der Kunde seine Anzeige im nachhinein auch selbst überarbeiten sollte, da sich z.B. Veranstaltungen meiner Kunden beständig ändern usw... Dafür habe ich auch ein Formular, welches die Vorhandene Anzeige aus der ***_storie unter Abfrage seine Chiffrenummer zieht. Hier kann der Kunde nun diverse Veränderungen seiner Anzeige vornehmen.

Nun wird die überarbeitete Anzeige wieder im ***_queue Abgespeichert. So, und an dieser Stelle springt der Frosch ins wasser! Ich sichte wieder den Artikel im Artikeleingang, dass keine Verstöße gegen geltende Gesetze vorhanden sind und möchte nicht mehr nach der einen (von 3000) Anzeige suchen, um Sie zu aktualisieren, sondern dies von der storie.php übernehmen lassen, wenn ich auf "Beitrag erstellen - OK" klicke.

Nun hab ich dass Problem, dass ich die stories.php von seiner Funktionsweise her noch nicht ganz gefressen habe. Ich blicke derzeit einfach noch nicht, welche "function" da wie zusammenspielt und auf welche Fährte ich gehen muss um oben beschriebenes umzusetzen.

Grützi Robert


riecon

Hmmmm .... ok. Da mir bissher keiner helfen konnte, habe ích mir selbst mal einen Ansatzpunkt gebaut. Ich habe in Ziele 163 der storie.php folgenden code eingefügt:



   $qry = "SELECT * FROM ${prefix}_stories WHERE catid LIKE '$catid' AND title LIKE '$title'";
   $resultinsert = sql_query($qry);
   $isStoryExisting = (mysql_num_rows($resultinsert)==0) ? false : true;
   if ($isStoryExisting) { ChangeStory($pvs); break; }



leider bisher ohne Erfolg. Nun wird der Artikel garnicht erst gepostet, sondern bleibt im Artikeleingang hängen, wenn der Artikel schon in der DB vorhanden ist. Auf dem richtigen weg also!????

Hilfe wäre nach wie vor willkommen ;-)

Grützi Robert