webForumDet fria alternativet

Räkna filnamn från en databas

PHP

12 svar · 677 visningar · startad av Tulork

Medlem sedan aug. 2004903 inlägg
Frågan#1

Vi har ett system där vi laddar upp filer via ett php script, filnamnet sparas i en database samt en kommentar och ett referens id på vem vi valde att ladda upp filen till. När denna personen loggar in på sin sida har han tillgång till de filerna vi valde att ladda upp till honom. Vi vill nu på något sätt räkna ut hur många filer denna person har och skriva ut detta.. alltså på något sätt räkna hur många filnamn användaren med RefID 20 har och skriva ut det.

Typ COUNT rows filename from where RefID ="20"....finns det någon likande funktion elelr något annat sätt att lösa detta på. Det går väl antagligen att lösa det genom att varje gång man laddar upp en fil läggs en 1:a till vid filen i databasen, sen hämta alla ettorna i en array och loop plussa och skriva ut resultatet eller nått.. men det detta verkar onödigt krångligt.

Medlem sedan dec. 20025 483 inlägg
#2
select count(*) as antal
  from tbl
 where refid = 20
Medlem sedan aug. 2004903 inlägg
#3
SELECT COUNT (Filename) as antal from UserFiles WHERE RefID = $user

nått sådant? Filename är alltså raden med filnamnen i tablen UserFiles. men vad är "antal" ? är det det jag använder sedan för att printa ut antal filer? så alltså t ex echo $antal elelr nått?

Medlem sedan juni 20006 031 inlägg
#4

Tulork skrev:

SELECT COUNT (Filename) as antal from UserFiles WHERE RefID = $user

nått sådant? Filename är alltså raden med filnamnen i tablen UserFiles. men vad är "antal" ? är det det jag använder sedan för att printa ut antal filer? så alltså t ex echo $antal elelr nått?

Ja

Medlem sedan aug. 2004903 inlägg
#5
  $idt = $_SESSION['sess_id'];
  //echo $idt;
  $sqln = "SELECT COUNT (Filename) as antal FROM $file_table WHERE RefID = $idt";
  $resultn = mysql_query($sqln);
  echo $antal;
  echo "<strong>Loged in as</strong><br>";
  echo $_SESSION['sess_user'];
  echo "<br><br><strong>Files:<br>";
  echo "<strong>Date:</strong><br>";
  echo "<br><a href=\"index.php?logout=\">Log out</a>\n";

Säg mig, vad gör jag för fel här? $idt innehåller rätt id, jag har testat att skriva ut det som $resultn['antal'] men får inte det att funka..jag lyckades skriva ut ett "S" ingen aning vart det kom ifrån dock. Har testat att hämta med fetch_aassoc osv..men det får jag inte igång heller..funkar på andra ställen, men inte på detta :bire

Medlem sedan dec. 20025 483 inlägg
#6
$idt = $_SESSION['sess_id']; 
  //echo $idt; 
  $sqln = "SELECT COUNT (Filename) as antal FROM $file_table WHERE RefID = $idt"; 
  $resultn = mysql_query($sqln);
  $row = mysql_fetch_assoc($resultn); 
  echo $row['antal']; 
  echo "<strong>Loged in as</strong><br>"; 
  echo $_SESSION['sess_user']; 
  echo "<br><br><strong>Files:<br>"; 
  echo "<strong>Date:</strong><br>"; 
  echo "<br><a href=\"index.php?logout=\">Log out</a>\n";
Medlem sedan aug. 2004903 inlägg
#7

hmm jag får fel på $row = mysql_fetch.... står Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/local/www/apache22/data/Grej/index.php on line 152...

Medlem sedan dec. 20025 483 inlägg
#8

Vad får du med

echo $sqln;

Skriv mysql_query($sqln) or die(mysql_error()); och se vad som händer.

Medlem sedan aug. 2004903 inlägg
#9

function COUNT doesn exist

Medlem sedan dec. 20025 483 inlägg
#10

Skriv ihop COUNT och (Filename).

Medlem sedan aug. 2004903 inlägg
#11

aaa dude. det funkar fin fint!! Men nu jhar jag även funderingar på att även skriva ut datumet på den nyaste filen som laddats upp. Vi infogar även datum på varje fil vi för in

$date =date("Ymd"); åker in i tablen $file_table under Date. hur får jag ut Senaste datumet som infördes? Den måste på nått sätt vara smart nog att välja ut det senaste datumet på en fil, och det kan finnas flera filer med samma datum..vet inte om det messar upp det hela.

Medlem sedan dec. 20025 483 inlägg
#12

I samma fråga?

select count(*) as antal
     , max(date) as senaste
  from $file_table
 where refid = $idt

Men om flera filer har samma datum spelar det väl ingen roll vilket av dessa datum som skrivs ut – de är ju lika?

Medlem sedan aug. 2004903 inlägg
#13

hehe. nu funkar allting som det ska, tack för all hjälp!

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)