webForumDet fria alternativet

Blir snart helt galen.!!!!

PHPur PHP

16 svar · 345 visningar · startad av toja

tojaMedlem sedan mars 2001218 inlägg
#1

FAN..!... sorry...

Jag söker någon som har tid och som är jävligt bra på php/MySQL....

Jag har ett problem som är helt mysko.. det är en sida för medlemmar.. där man kan läsa sina mess... allt fungerar.. tills man tar bort ett eller flera mess..

Kort förklarat:

1. man går till sidan för att läsa sina mess (me_mess.php?userview=nåt)
2. Sidan kommer upp... man kan se sina meddelanden och allt fungerar som det ska...
3. Man tar bort ett eller flera mess... allt fungerar som det ska.. den tar bort det som ska.
4. Efter att meddelandena tagits bort skickas man tillbaka till messidan automatiskt (me_mess.php?userview=nåt), precis som när man gick till sidan första gången...
5. Då kommer detta fel : "mysql_fetch_array(): supplied argument is not a valid MySQL result resource" när meddelandena ska skrivas ut.
6. Trycker jag på länken (me_mess.php?userview=nåt), så visas allt normalt igen... hur kommer det sig att koden är fel efter att man tagit bort ett eller flera mess... när det är exakt samma länk man skickas vidare till...

Nån som har tid får gärna kontakt mig för att kolla igenom hela koden.. vet inte vart felet ligger... och det är irriterande som fan!!! Det kan ju ses som en utmaning.. jag har provat, testat, letat, funderat... hittar bara inte felet..!!! :(

Finns på:
E-mail: vool_tommie@hotmail.com
msn: vool_tommie@hotmail.com
ICQ: 4073240
Har ni mirc så finns jag ibland på #chma@quakenet eller #grioten@guakenet

heter toja på alla ställen..!!!

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#2

Hej!

Du får antagligen inte med dig ett värde som behövs i din sql-sats, testa skriv ut din sql-sträng för att se så alla värden som behövs finns. Ett annat tips är att alltid lägga till en kontroll om sql-frågan gav något. Använd också alltid möjligheten att returna ett exakt felmeddelande som skriver ut mysql_error():

$Result = mysql_query( $sql )
      or die( mysql_error() );
PellefantMedlem sedan maj 20023 372 inlägg
#3

Don't get mad - get even :)

tojaMedlem sedan mars 2001218 inlägg
#4

Hmm....

det du snack om "testa skriv ut din sql-sträng för att se så alla värden som behövs finns" vet jag inte riktigt hur du menar.. jag ser ju på sidan.. innan jag tar bort nåt mess att alla värden skrivs ut!!!

Detta dök i alla fall upp med mysql_error() funktionen:

"You have an error in your SQL syntax near ' 12' at line 1"

Det kanske säger dig något om vad som är fel.. mig säger det inte så mycket... vad är 12..tex...?!!

Kanske lite närmare en lösning...?!

tojaMedlem sedan mars 2001218 inlägg
#5

Till Pellefant:

Hehe.. jag är inte arg ävan om det låter så.. bara lite smått irreterad... det skulle nog du också va om du satt i min situation just nu... å inte har en aning om vad som kan vara fel..! :birp

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#6

toja skrev:

Kanske lite närmare en lösning...?!

Då får du nog ta och posta lite kod.

skriv ut sql-frågan ungefär så här och posta resultatet här.

$sql = "select blaha blaha bla ha ";

[b]print $sql;[/b]
tojaMedlem sedan mars 2001218 inlägg
#7

ok.. du menar så... men så här ser det ut där messen hämtas...

$result = mysql_query("SELECT mess_status, mess_from, date_format(mess_date, '%Y-%m-%d, %H:%i') as date_out, mess_date, mess_rubrik FROM usermess WHERE mess_to = '$UserID' ORDER BY mess_date DESC LIMIT $from, $show", $link_id) or die(mysql_error());
					while($array = mysql_fetch_array($result)){
						$mess_status = $array["mess_status"];
						$mess_dateout = $array["date_out"];
						$mess_from = $array["mess_from"];
						$mess_rubrik = $array["mess_rubrik"];
						$mess_date = $array["mess_date"];

sen har vi koden som tar bort meddelandet...

if($delete_messages == 1){
		foreach ($deleteid as $deleteidx) {
   			mysql_query("DELETE FROM usermess WHERE mess_date = '$deleteidx' AND mess_to = '$UserID'", $link_id);
		}
		header("Location: me_mess.php?userview=".$userview."&from=".$from);
		exit;
	}

Säg till om det är något mer du behöver.... kan ju maila hela filen till dig... om du orkar titta igenom det..

tojaMedlem sedan mars 2001218 inlägg
#8

Oj... fan vad långt det blev..!!! :r

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#9

Nej du ska skriva ut sql-strängen innan den exekveras, precis som jag visade ovan. :)

tojaMedlem sedan mars 2001218 inlägg
#10

Hmm...

fick denna utskrift då:

SELECT mess_status, mess_from, date_format(mess_date, '%Y-%m-%d, %H:%i') as date_out, mess_date, mess_rubrik FROM usermess WHERE mess_to = 'toja' ORDER BY mess_date DESC LIMIT 0, 12

Ser ju ut att stämma tycker jag.. ser exakt ut som när jag skriver det direkt i mysql_query(); ända skilnaden är ju att det står "WHERE mess_to = 'toja'" istället för "WHERE mess_to = '$userID'"

Så där bör det inte vara några problem...

Nåt annat förslag..?!

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#11

Får du några träffar alls på din sql-fråga?

$sql ="SELECT mess_status, mess_from, date_format(mess_date, '%Y-%m-%d, %H:%i') as date_out, mess_date, mess_rubrik FROM usermess WHERE mess_to = '$UserID' ORDER BY mess_date DESC LIMIT $from, $show";

$Result = mysql_query( $sql )
      or die( mysql_error() );

   if( mysql_num_rows( $Result ) < 1 ) 

   {
      print ("<p>Ingen träff</p>");      

   }

else {

// Gör din loop

}
Hans-ErikMedlem sedan juli 2002268 inlägg
#12

php e roligt

tojaMedlem sedan mars 2001218 inlägg
#13

Japp.. jag får tolv träffar..!!

Men det spelar ingen roll ju... får jag inga träffar så är det ju bara så att den inte skriver ut ngt.. det ska ju inte komma felmeddelande då..!!!

Och det är ju exakt samma sida och samma utskrift ur mysql som körs både när det fungerar och inte fungerar.. det är det som är konstigt..!!!

tojaMedlem sedan mars 2001218 inlägg
#14

Sådär... jag tittade en extra gång... lite extra noga.. det var ett litet skitproblem...!! Löste sig..!!!

Nu fungerar allt som det ska ... men i alla fall.. tack för hjälpen...

Om du undrar vad det var .. så var det att variabeln $from... skickades tom.. eftersom att formuläret som skickar det låg ovanför det ställe där man skapar $from...

$from används till funktionen som gör att det visas flera sidor istället för allt på samma sida...!

Jörgen HPMedlem sedan feb. 20012 412 inlägg
#15

Märkligt eftersom du hade med värdet i sql-utskriften. ;)

tojaMedlem sedan mars 2001218 inlägg
#16

jo.. jag vet.. det tyckte jag oxå var konstigt.. men det funkar nu i alla fall.. ibland kan det vara konstiga lösningar..! :D

tojaMedlem sedan mars 2001218 inlägg
#17

GOTT NYTT ÅR föresten...

131 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)