Willkommen in der Webstatt
User-1 am 26.03.06 16:18

dieser code soll mir die einträge zählen, jedoch zeigt er mir , viel zu wenige an, es sind 9 vorhanden, anzeigen tut es aber nur2 !!
<?php
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
mysql_select_db($mysql['root']);
#####
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` ORDER BY `id` DESC');
while($row = mysql_fetch_assoc($query)) {

$ID = $row['ID'];
$query2 = mysql_query("SELECT COUNT(*) cnt FROM news_comments WHERE NewsID=$ID");
$data = mysql_fetch_assoc($query2);
$anzahlKommentare = $data['cnt'];


echo"anzahl der einträge blablabla,.";
}?>

weiss jemand woran das liegen könnte?

netcup.de Warum gibt es hier Werbung?
User-2 am 26.03.06 16:24

vll sind zwar 9 einträge in der tabelle, aber du sagst dem ja auch das er vll nur 2 anzeigen soll, da: WHERE NewsID=$ID
kannst das ja zum testen auch einfach mal wegmachen...

User-3 am 26.03.06 16:32

ich bevorzuge da eher mysql_num_rows()....

User-1 am 26.03.06 16:47

mhh hat sich eben erledigt :D

danke aber trotzdem

hab jedoch ein andere prob, und zwar bekomm ich hierdrin nen fehler "supplied argument is not a mysql resource"
<?php mysql_select_db($mysql['root']);
$query = mysql_query('SELECT * FROM `'.$mysql['table'].'` WHERE NewsID=$ID');

while($row = mysql_fetch_assoc($query)) {?
>

User-4 am 26.03.06 17:17

Überprüfe:


    [*] ist der xyz-19utzername korrekt ?
    [*] ist das Passwort korrekt?
    [*] gibt es die Datenbank ?
    [*] gibt es die Tabelle ?
    [*] gibt es das Feld NewsID in der Tabelle ?


Wenn diese Punkte alle stimmen, tritt der Fehler nicht auf.
User-5 am 26.03.06 17:37

mysql_error() sollte dir weiterhelfen :)

User-1 am 26.03.06 18:33

mhh also hab nochma drübergeschaut aba keine weiteren fehler gefunden
$ID = $row['ID'];
$query = mysql_query('SELECT * FROM news_comments WHERE NewsID='.$ID.' ORDER BY `ID` DESC');
while($row = mysql_fetch_assoc($query)) {


soweit bin ich jetz,...

User-3 am 26.03.06 18:35

mach doch ma nen mysql_error() rein.......

User-2 am 26.03.06 18:36

mach mal in z2 ein intval($ID)

User-1 am 26.03.06 19:10

dann bekommich nen parse error, im query ,.

User-6 am 26.03.06 19:15

Schreibs einfach mal so:

$query = mysql_query("SELECT * FROM news_comments WHERE NewsID = '".$ID."' ORDER BY ID DESC");

User-1 am 26.03.06 19:35

mhh jetzt bekomm ich zwar keine fehlermeldung mehr jedoch auch keine ausgabe mehr,.

User-7 am 26.03.06 21:55

Sicher, dass auch entsprechende Datensätze in der Datenbank sind? Sonst wär's ja irgendwie witzlos.

User-2 am 26.03.06 22:02

echo $ID?
echo mysql_error($connection) sagt nix?

User-1 am 27.03.06 12:55

echo $ID; geht
das andere hab ich so noch nich ausprobiert, allerdings kann ichs auch erst heut abend , da ich im mom noch aufer arbeit bin :(

mhh , so sieht mein code aus , <?php
// Der MySql-Server
$mysql['host'] = 'localhost';
// Der MySql-xyz-19utzer
$mysql['user'] = 'root';
// Und das dazugehörige Passwort...
$mysql['pass'] = '';
// Noch die Datenbank
$mysql['root'] = 'projects';
// Und zu guter letzt die Tabelle
$mysql['table'] = 'news_comments';

// Verbindet zum MySQL-Server
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
// Und wählt die Datenbank aus
mysql_select_db($mysql['root']);
####

$ID = $_GET[id];
echo($ID);
#echo mysql_error($query);
#WHERE NewsID='$ID' ORDER BY ID DESC
$query = mysql_query('SELECT * FROM news_comments WHERE NewsID=$ID ');
while($row = mysql_fetch_assoc($query)) {
echo($ID);

#######uhrzeit umwandeln
$timestamp = $row['Datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
####
include("functions.php");

echo"
<table width='75%' border='0'>";
echo"<tr>";
echo"<td colspan='2'><a href='mailto:$row[Email]'>$row[Name]</a></td>";
echo"<td colspan='2'>vom $datum-$uhrzeit,'Uhr'</td>";
echo"</tr>";
echo"<tr>";
echo"<td colspan='4'>$row[Inhalt]</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
echo"</td>";
echo"<td colspan='3'></td>";
echo"</tr>";
echo"</table>\n";
}
?>


so , hab mal das $ID neu definiert, sollte eigentlich GET heissen , weil ich die id im link übergebe,.

User-1 am 27.03.06 20:32

mhh niemand nioch ne idee? bin nämlich auch am ende,.

User-7 am 27.03.06 21:01

Uargh!! Zum Debuggen IMMER
mysql_query('...') or die(mysql_error());
verwenden!

xyz-48n wärst du früher oder später auch drauf gekommen, dass $ID in einem von einfachen Hochkommas eingefassten String nicht ersetzt wird. Das geht so nur mit doppelten Anführungszeichen.

User-1 am 27.03.06 21:07

tja dann bekomm ich Unknown column '5' in 'where clause'

User-7 am 27.03.06 21:16

Lass dir mal die Anfrage ausgeben.

User-1 am 27.03.06 21:19

wie meinste das? mit welchem befehl?

User-7 am 27.03.06 21:44

Du hast die Qual der Wahl zwischen:


    [*]print
    [*]echo
User-1 am 27.03.06 21:46

ja aber meinste den query , weil ne normale ausgabe mit den rows hab ich ja schon ,.

sry aber ich versteh grad garned weas du meinst , was ich ausgeben soll(steh voll aufem schlauch)

User-7 am 27.03.06 22:18

Du sollst einfach das Argument von mysql_query() ausgeben lassen...

User-3 am 28.03.06 13:51

*mitn finger auf den code zeig
*zitter
$mysql['root'] = 'projects';
NUR ICH DARF MEINE DATENBANK NAMEN VARIABLEN MIT ROOT BENNEN!!!! DAS HAB ICH MIR SCHON PATENTRECHTLICH SICHERN LASSEN :D :D :D
komisch.. bevor ich das verwendet habe hat das niemand genommen..
jetz jeder 3. oder so Oo
naja..



zum qry ausgeben:
mach ma statt
$query = mysql_query('SELECT * FROM news_comments WHERE NewsID='.$ID);


das hier:
$query = 'SELECT * FROM news_comments WHERE NewsID='.$ID;
echo $query;
$qery = mysql_query($query) or mysql_error();

User-1 am 28.03.06 17:27

mhh dann bekomme ich

SELECT * FROM news_comments WHERE NewsID=.$ID
angezeigt,
wenn ich jedoch $query = 'SELECT * FROM news_comments WHERE NewsID='.$ID.''; drin stehen hab bekomm ich
das richtige angezeigt :)
SELECT * FROM news_comments WHERE NewsID=5
jedoch funztt es trotzdem nit,.

User-3 am 28.03.06 17:29

Quote
Original von xyz-29
mhh dann bekomme ich

SELECT * FROM news_comments WHERE NewsID=.$ID

sry nix gegen dich aber.... krichst dus nichma auf die reihe nen code zu kopieren und woanders wieder einzufügen?

naja, gibs denn nen eintrag mit der NewsID 5?

User-1 am 28.03.06 17:41

jo gibt ne news mit der id 5 un nen kommentar mit der news id 5, funzt so leider aber immernoch nicht,

bekomme imernoch alle kommentzare ausgegeben und nich nur die mit der die newdid übereinstimmen :(

User-3 am 28.03.06 17:43

Quote
Original von xyz-29
jo gibt ne news mit der id 5 un nen kommentar mit der news id 5, funzt so leider aber immernoch nicht,

bekomme imernoch alle kommentzare ausgegeben und nich nur die mit der die newdid übereinstimmen :(

gib ma bitte den kompletten code her... also so wie dus jetz hast

User-1 am 28.03.06 17:45

<?php
// Der MySql-Server
$mysql['host'] = 'localhost';
// Der MySql-xyz-19utzer
$mysql['user'] = 'root';
// Und das dazugehörige Passwort...
$mysql['pass'] = '';
// Noch die Datenbank
$mysql['root'] = 'projects';
// Und zu guter letzt die Tabelle
$mysql['table'] = 'news_comments';

// Verbindet zum MySQL-Server
$mysql['handle'] = mysql_pconnect($mysql['host'], $mysql['user'], $mysql['pass']);
// Und wählt die Datenbank aus
mysql_select_db($mysql['root']);
####

$ID = $_GET[id];

#WHERE NewsID='$ID' ORDER BY ID DESC
$query = mysql_query('SELECT * FROM news_comments` WHERE NewsID='.$ID.'');
while($row = mysql_fetch_assoc($query)) {

#######uhrzeit umwandeln
$timestamp = $row['Datum'];
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
####
include("functions.php");

echo"
<table width='75%' border='0'>";
echo"<tr>";
echo"<td colspan='2'><a href='mailto:$row[Email]'>$row[Name]</a></td>";
echo"<td colspan='2'>vom $datum-$uhrzeit,'Uhr'</td>";
echo"</tr>";
echo"<tr>";
echo"<td colspan='4'>$row[Inhalt]</td>";
echo"</tr>";
echo"<tr>";
echo"<td>";
echo"</td>";
echo"<td colspan='3'></td>";
echo"</tr>";
echo"</table>\n";
}
?>

User-3 am 28.03.06 17:51

Setz ma alle Tabellennamen und Spaltennamen in `..` gehört sich 1. so und 2. löst es viele probleme..

User-1 am 28.03.06 18:27

jo man merk das es das viele probs löst :) es geht :)

User-3 am 28.03.06 18:52

Quote
Original von xyz-29
jo man merk das es das viele probs löst :) es geht :)

sag'sch doch xD np =P

User-1 am 28.03.06 19:01

man hätt ich das gkeich gewusst hött ich mir können ein haufen nerven sparen ,.

User-3 am 28.03.06 20:22

Quote
Original von xyz-29
man hätt ich das gkeich gewusst hött ich mir können ein haufen nerven sparen ,.

is jetz mal nich nur an dich, sondern an die ganze welt:

ein ordentlicher programmier stil ersparrt unzählige probleme

wollts nurmal sagen :O

User-8 am 29.03.06 12:16

Hmm also ich quote auch nur kritische Tabellen-/Spaltenbezeichner, die eigentlich eh vermieden werden sollen.

War hier wirklich das fehlende Quoten das Problem oder eher ein falsches:

... FROM news_comments[color="red"]`[/color]

User-1 am 29.03.06 13:18

ne das quoten wars problem,.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt