VPNwelt.com sucht Feedback Wie der Name schon sagt handelt es sich um eine Review Website für…
von: florian.berg.privat
Versuch Backlinks oder Keywords zu erstellen. Dein Content muss auch gut sein. Hier ein Artikel das…
von: welkercarmen5
Hallo Jörg!
Gut, dann hab ich da was reininterpretiert, was Du nicht gemeint hast!
Was meine vielen Webseiten anbelangt:
Es ist richtig: ich sammel mir die Codestückchen im Netz zusammen und bastel dann. Wenn was nicht so will, wie es soll, dann schmeiße ich es manchmal auch einfach wieder raus
Was mein Problem anbelangt: Das ist leider noch nicht gelöst!
Wenn ich meinen Abschnitt ab foreach mit deinem Code ersetze, dann meldet er mir ein unexpected $end in der letzten Zeile.
Ich werde mir das die Tage noch mal genauer reintun. Mal sehen, ob ich da die Lösung selbst finde!
Hallo Marcus
Und ich bin dazu übergegangen gar nicht nach Code Schnipsel zu suchen sondern die anhand der Beschreibungen auf de.php.net beispielsweise oder anhand dem was eine leistungsstarke IDE dazu an Informationen parat selbst zu bauen.
Hallo Marcus,
wurde denn dein Problem nun gelöst?
Hallo zusammen!
@Joerg: Da meine Webseiten auf Wordpress aufbauen, braucht man da ja nur wirklich Coding-Kenntnisse, wenn man eien Funktion um-, aus- oder einbauen will!
Das ist für Leute wie mich ja wie gemacht.
@Roman: Leider nein
Ich habe, wie bereits erwähnt, meine foreach-Schleife durch Jörgs Code ersetzt - und eine schließende Klammer hinzugefügt.
Er frisst das mit Einzahl / Mehrzahl leider immer noch nicht und zeigt, zählt mit angepasster foreach-Schleife auch nicht mehr ! function umfrage() {
global $wpdb;
$upd_query = "SELECT FROM_UNIXTIME(pollip_timestamp,\'%d.%m.%Y um %H:%i:%s\') AS polliptime_ger, pollip_aid, polla_aid, polla_answers, polla_votes, pollq_active, pollq_question,pollip_qid, pollip_timestamp FROM $wpdb->pollsip
INNER JOIN $wpdb->pollsq AS pq ON $wpdb->pollsip.pollip_qid = pq.pollq_id
INNER JOIN $wpdb->pollsa AS pa ON $wpdb->pollsip.pollip_aid = pa.polla_aid
WHERE pollq_active = \'1\'
ORDER BY pollip_timestamp DESC
LIMIT 3";
$upd_result = $wpdb->get_results($upd_query);
if ( empty($upd_result) ) {
echo \'
\';
echo \'
Erste Stimme für diese Antwort
\');\'. $cntVotedUser . $personsString .\' auch so ab
\';Keine Stimme für diese Antwort
\');\';
}
}
Gruß
Marcus
EDIT: Wer will kann sich das hier in der Sidebar mal angucken
Hallo Marcus,
ich denke es liegt nur ein kleiner Denkfehler vor. Nach deiner geposteten var_dump()-Ausgabe beinhaltet polla_votes doch schon die Anzahl der abgegebenen Stimmen/Votes und beinhaltet auch immer nur ein Element:
Marcus schrieb:
[polla_votes] => 2
Deshalb brauchst du auch kein count() nutzen, weil count() in diesem Fall immer 1 zurückliefert.
Also einfach count() rausnehmen:
Marcus schrieb:
$cntVotedUser = $updat->polla_votes - 1;
$personsString = ($cntVotedUser == 1) ? \' weiterer Besucher stimmte\' : \' weitere Besucher stimmten\';
Gruß Stephan
Hallo Stephan!
Das scheint der Knackpunkt gewesen zu sein!
Herzlichen Dank!
Hallo zusammen!
Da ich den Code für eine andere Funktion nur leicht umgeändert habe, will ich keinen neuen Thread aufmachen für meine Frage!
Der Code sieht folgendermaßen aus: function offene_umfrage() {
global $wpdb;
$upd_query= "SELECT FROM_UNIXTIME(pollip_timestamp,\'%d.%m.%Y um %H:%i:%s\') AS polliptime_ger,pollq_timestamp, pollip_aid, polla_aid, polla_answers, polla_votes, pollq_active, pollq_question,pollip_qid, pollip_timestamp, pollq_totalvoters FROM $wpdb->pollsip
INNER JOIN $wpdb->pollsq AS pq ON $wpdb->pollsip.pollip_qid = pq.pollq_id
INNER JOIN $wpdb->pollsa AS pa ON $wpdb->pollsip.pollip_aid = pa.polla_aid
WHERE pollq_totalvoters = \'0\'
ORDER BY pollq_timestamp DESC";
$upd_result = $wpdb->get_results($upd_query);
if ( empty($upd_result) ) {
echo \'
Hallo Marcus,
ohne die zugrundeliegenden Tabellendaten zu kennen, kann dir hier glaube ich keiner wirklich helfen. Ich habe mir mal testweise WP_Polls installiert (scheinst du ja zu verwenden) und die Tabellen mit phpmyadmin angeschaut.
Wenn du eine Umfrage hast bei der noch kein Benutzer abgestimmt hat, dann gibt es für diese Umfrage auch keine Einträge in der Tabelle pollsip! Folglich liefert dein SQL-Query auch immer ein leeres Resultat zurück, weil du einen JOIN über die pollsip-Tabelle durchführst. Die Tabelle pollsip benötigst du in diesem Fall nämlich nicht.
Du könntest dich jetzt mit LEFT und RIGHT JOINS beschäftigen, oder einfach die Anfrage anpassen:
[sql]
SELECT
*
FROM
`wp_pollsq` AS pq
INNER JOIN `wp_pollsa` AS pa
ON pq.pollq_id = pa.polla_qid
WHERE
pq.pollq_totalvoters = 0
[/sql]
Mit dieser Anfrage erhälst du dann auch alle Umfragen, für die noch kein Benutzer abgestimmt hat.
Grüße Stephan
Hallo Stephan!
Das hat mich der Lösung schon sehr nah gebracht. Danke dafür schon mal!
Nur ein kleines \'Problem\' würde ich jetzt gerne noch ausschalten. Und zwar zeigt er mir jetzt jede Umfrage so oft an, wie es Antwortmöglichkeiten gibt!
Sprich, sind 4 Antwortmöglichkeiten vorhanden, wird die Frage 4 mal angezeigt!
Ne Idee, wie man das reduzieren kann?
Danke im voraus!
Marcus
Ehm, zum Beispiel so:
[sql]
SELECT
*
FROM
`wp_pollsq` AS pq
INNER JOIN `wp_pollsa` AS pa
ON pq.pollq_id = pa.polla_qid
WHERE
pq.pollq_totalvoters = 0
GROUP BY
pq.pollq_id
[/sql]
Grüße Stephan
Beitrag erstellen
EinloggenKostenlos registrieren