PHP - Charts abstimmen

Hey Finbey,

vielen Dank, dass du dir so viel Mühe gemacht hast ;) Ich weiß das zu schätzen.

Ich hab alle Tips 1 zu 1 umgesetzt, aber es funktioniert leider immer noch nicht :(

Die Variable $db steht in der config3.php und sieht wie folgt aus:
PHP:
$db = mysql_connect ($sqlhost,$user,$passwort);

Ich hab mittlerweile echt keine Ahnung mehr, wo ich den Fehler noch suchen soll :(

Vielen Dank für die super Unterstützung ;)

LG Zneaf :)
 
füg mal in die $db noch ne vierte variable hinzu die deine tabelle enthält

Code:
$db = mysql_connect($sqlhost, $user, $passwort, $tabelle)
 
Hey finbey ;)

hat leider auch nichts genützt :(

Ich habe allerdings eine Vermutung, warum das ganze nicht funktioniert:
Die While-Schleife erzeugt ja logischerweise für jeden Track in der Tracklist einmal den Charts-Button (und somit auch für jeden Track ein eigenes Formular). Meine Vermutung ist daher eher, dass mein Code nicht "blickt", welcher Datensatz abgeschickt wurde, da jedes Formular gleich heißt...

Muss der Formularname vielleicht irgendwie variieren oder irgend ein anderer eindeutiger Ausdruck (z.b. hidden) mit überliefert werden, damit nachvollziehbar ist, welches Formular mit welchem Datensatz abgeschickt wurde?

Falls das der Fall sein sollte, wüsste ich allerdings nicht, wie man soetwas umsetzen könnte.

Was denkst du / denkt ihr darüber?

Wenn irgendjemand einen Nützlichen Tip/Hinweis hat, würde ich mich sehr darüber freuen :)

Vielen Dank

LG Zneaf =)
 
nur mal so am Rande... packe alle style angaben in ein stylesheet sonst wird es einfach zu unübersichtlich... und arbeite mal mehr mit var_dump gib alles aus was fehler machen könnte .. sitze vorm pc und verfolge mit dem Finger am Bildschirm was dein code wann wie und mit wem macht ... da wir/ich nicht den kompletten code haben geht es nur bis zu einem gewissen punkt an dem wir die helfen können...



Sind in der Tabelle eigentlich schon Angaben drin und du willst sie nur ersetzen?
 
Zuletzt bearbeitet:
Hey finbey,

jop mach ich.

In der Tabelle sind noch keine Angaben drinnen, weil ja nichts passiert, wenn man auf charts klickt^^
Hab aber bereits ausprobiert, ob der Rest funktioniert, indem ich einen Datensatz manuell in die Datenbanktabelle eingegeben habe. Und dadurch habe ich dann auch festgestellt, dass alles andere auch funktioniert...abgesehen vom voten halt.

Falls ich irgendwas neues herausfinde oder es Neuigkeiten gibt, melde ich mich wieder.

Danke für die super Unterstützung :)

LG Zneaf
 
Hi,

also ich hab seit meinem letzten Post jede einzelne Variable mit var_dump() bearbeitet und nirgends etwas auffälliges entdecken können...alle Variablen sind genau nach Wunsch mit dem richtigen Inhalt gefüllt.

Desweiteren habe ich nochmals zum Check-up einen Datensatz von Hand in die Tabelle "charts" eingegeben um erneut zu prüfen, ob ansonsten alles korrekt funktioniert -> Aber wie ich in meinem letzten Post bereits erwähnt hatte, funktioniert alles außer das Abstimmen der Charts per Button.

Hier der aktuelle Code:
PHP:
<?php
session_start();
?>
<html>
<head>
<title>Tracklist</title>
</head>
<body>
<?php
// Wenn der Charts-Button geklickt wird, Daten in DB eintragen.
if (isset($_POST['submit'])){
	$time = new DateTime();
	$userid = $_SESSION['userid'];

	include("config3.php");

	$sqlinsertcharts = "INSERT INTO charts
				(
				interpret, title, userid, time
				) VALUES (
				'". mysql_escape_string($interpret) ."',
				'". mysql_escape_string($title) ."',
				'". mysql_escape_string($userid) ."',
				'". mysql_escape_string($time) ."'
				)";
	// SQL-Anweisung an die DB schicken
	$resultinsertcharts = mysql_query($sqlinsertcharts,$db) or die (mysql_error());
	
	// Wenn kein Fehler aufgetreten ist, die Tracklist aktualisieren.
	echo "<meta http-equiv='refresh' content='0; url=index.php?site=tracklist'>";
}

include("config3.php");

// Daten aus Datenbank abholen und absteigend nach id sortieren.
$sql = "SELECT
			day,
			month,
			year,
			time,
			remix,
			sendung,
			von,
			interpret,
			title
		FROM
			tracklist
		ORDER BY id DESC";
$result = mysql_query($sql,$db);

while ($row = mysql_fetch_object($result)) {

	$day = $row->day;
	$month = $row->month;
	$year = $row->year;
	$time = $row->time;
	$remix = $row->remix;
	$sendung = $row->sendung;
	$von = $row->von;
	$interpret = $row->interpret;
	$title = $row->title;
	
	if($_SESSION['loggedIn'] === true){

		include("config3.php");

		// Daten aus Datenbank abholen.
		$sqlcharts = "SELECT 
						id,
						interpret,
						title,
						userid
					  FROM
						charts
					  WHERE
						interpret = '".$interpret."'
					  AND
						title = '".$title."'
					  AND
						userid = '".$_SESSION['userid']."'";

		$resultcharts = mysql_query($sqlcharts,$db);
	}

	if( mysql_num_rows($resultcharts) == 0 ){
		echo "<form action=".$_SERVER['PHP_SELF']." method=\"post\">";
	}
	echo "<table border=\"0\" width=\"500\" cellspacing=\"0\" cellpadding=\"0\">
			<tr valign=\"top\" width=\"500\" height=\"30\" style=\"background-image: url(images/bg_top.jpg); background-repeat:non repeat;\">
				<td height=\"30\" valign=\"middle\"><font face=\"Arial\" color=\"#FFFFFF\" size=\"-1\">&nbsp;&nbsp;<b>$interpret</b> - $title</font></td>
			</tr>
		</table>
		<table border=\"0\" width=\"500\" cellspacing=\"0\" cellpadding=\"0\">
			<tr valign=\"top\" width=\"500\" style=\"background-image: url(images/bg_middle.jpg); background-repeat:non repeat;\">
				<td><font face=\"Arial\" color=\"#333333\" size=\"-1\">&nbsp;&nbsp;<i>$time Uhr Gespielt von $von ($day.$month.$year)</i></font></td>
			</tr>
			<tr valign=\"top\" width=\"500\" style=\"background-image: url(images/bg_middle.jpg); background-repeat:non repeat;\">
				<td><font face=\"Arial\" color=\"#333333\" size=\"-1\">&nbsp;&nbsp;<b>Remix:</b> $remix</font></td>
			</tr>
			<tr valign=\"top\" width=\"500\" style=\"background-image: url(images/bg_middle.jpg); background-repeat:non repeat;\">
				<td><font face=\"Arial\" color=\"#333333\" size=\"-1\">&nbsp;&nbsp;<b>Sendung:</b> $sendung</font></td>
			</tr>
			<tr valign=\"middle\" width=\"500\" height=\"35\" style=\"background-image: url(images/bg_middle.jpg); background-repeat:non repeat;\">
				<td>";
					if( mysql_num_rows($resultcharts) == 0 ){
						echo "<input type=\"submit\" name=\"submit\" value=\"Charts\">";
					}
	echo"		</td>
			</tr>
			<tr valign=\"top\" width=\"500\" height=\"5\" style=\"background-image: url(images/bg_bottom.jpg); background-repeat:non repeat;\">
				<td></td>
			</tr>
		</table>";
	if( mysql_num_rows($resultcharts) == 0 ){
		echo "</form>";
	}
}
?>
</body>
</html>

Innerhalb der Tracklist befinden sich immer 75 Tracks. Daher gibt es logischerweise auch immer 75 Formularbereiche und Buttons, die durch die While-Schleife erzeugt werden (pro Track 1 Formularbereich und 1 Button).

Gibt es eine Möglichkeit, jedem Formularbereich (also <form action="" name="" method="post"></form> ) einen eindeutigen Namen (z.B. eine Nummerierung wie formular1, formular2, formular3 etc.) zu zu weisen, wenn es durch die while-schleife erzeugt wird?

Und gibt es dann die Möglichkeit, beim Anklicken des Buttons mit zu übermitteln, welcher Formularbereich (und somit welcher Datensatz) in die Datenbank eingetragen werden soll oder funktioniert das ganze in der Regel auch ohne dass die Formularbereiche einen eindeutigen Namen besitzen?

Ich hoffe ihr könnt mir darauf eine Antwort geben und steht mir noch einmal zur Seite

Für eure Mühen bedanke ich mich im Voraus :)

LG Zneaf =)
 
Also Zneaf...
Ich setze mich am Wochenende mal richtig dran ... dafür bräuchte ich dann aber
ALLEN
Code der mit deinem Script zusammenhängt (natürlich ohne passwörter oder dergleichen allerdings einen screenshot der betreffenden Datenbank/Datenbaktabelle damit ich sie übernehmen kann...)
Sende mir den code und den Screenshot (wenn du das überhaupt willst) per E-Mail (die ich dir gleich per privaten Nachricht schicke
 
Hey finbey ;)

das werd ich gleich mal machen.
Hab vielen Dank für deine Unterstützung :)
Ich weiß das zu schätzen.

LG Zneaf =)
 
Hi Leute =)

ich habs endlich geschafft! Es funktioniert! :D

Hab das ganze letztlich über GET erreicht...
Wenn der User online ist, bekommt er nen Link (charts) angezeigt...sobald er diesen anklickt, werden die Variablen in die Adressleiste eingesetzt. Am Anfang der PHP-Datei lasse ich dann einfach überprüfen, ob die Variablen gesetzt. Ist das der Fall, werden diese ausgelesen, in der DB eingetragen und die Seite wird neu geladen ;) Somit verschwindet der Button dann auch ;)

Danke für die Hilfe :)

LG Zneaf ^^
 
Zurück