Avatar billede konder Nybegynder
26. januar 2004 - 20:07 Der er 41 kommentarer og
1 løsning

få trukket ekstra kolonne ud af databasen.

Hej eksperter Jeg knokler stadig med dette problem.
Jeg har et skript til kalender hvor datoen ($i) vises i denne TD:
echo "<td align=\"center\" class=\"" . $class ."\">" . $link . "" . $i . "" . $endlink ."</td>";
Jeg har en kolonne 'test' i samme database som gerne sku vises i samme  TD, hvis der er sat en $test for pågældende dato, men kan ikke finde ud af det.
Avatar billede Slettet bruger
26. januar 2004 - 20:13 #1
echo "<td align=\"center\" class=\"" . $class ."\">" . $link . "" . $i;
if (!empty($test)){echo $test;}
echo $endlink ."</td>";
Avatar billede konder Nybegynder
26. januar 2004 - 20:17 #2
sådan noget lign. troede jeg også, men der sker godtnok ikke noget
Avatar billede Slettet bruger
26. januar 2004 - 20:17 #3
Du behøver forresten ikke de tomme strenge, og hvis du omslutter en streng med ' behøver du heller ikke \ over det hele:

echo '<td align="center" class="' . $class .'">"' . $link . $i;
if (!empty($test)){echo $test;}
echo $endlink ."</td>";

Du kan også bytte om:

echo "<td align='center' class='$class'>" . $link . $i;
if (!empty($test)){echo $test;}
echo $endlink ."</td>";
Avatar billede Slettet bruger
26. januar 2004 - 20:18 #4
Så indeholder $test ikke noget.
Avatar billede konder Nybegynder
26. januar 2004 - 20:32 #5
jeg har altså flere felter hvor $test er i databasen, og jeg har en side hvor jeg kan kontrollere det, så..mystisk
Avatar billede Slettet bruger
26. januar 2004 - 20:38 #6
Prøv at vise lidt mere af koden.
Avatar billede konder Nybegynder
26. januar 2004 - 20:40 #7
$spg = mysql_query("SELECT dag, mur FROM kal WHERE dag = '".$year."-".$current_month."-".$z."'")
or die (mysql_error()); er der noget forkert her? mur er feltet hvor test ligger
Avatar billede konder Nybegynder
26. januar 2004 - 20:47 #8
herfra tastes ind i databasen

if($_POST['op'] == "ds"){
$test = $_POST['test'];
$md = $_POST['md'];
$dato = $_POST['dato'];
$aar = $_POST['aar'];

$tjek = mysql_query("SELECT * FROM kal WHERE dag = '".$aar."-".$md."-".$dato."'") or die (mysql_error());
$antal = mysql_num_rows($tjek);
if($antal >=1){
    echo "<div align=\"center\"><h4>Der er allerede lavet en plan for: DATO: <b>".$dato."</b>, MÅNED: <b>". $md ."</b>, ÅR: <b>". $aar."</b></h4></div>";
    exit;
}else{
  $sql = "INSERT INTO kal (id, dag, mur) VALUES ('', '".$aar."-".$md."-".$dato."','".$test."')";

    mysql_query($sql) or die (mysql_error());
    echo "<div align=\"center\">OK - Databasen blev opdateret med succes for: DATO: <b>".$dato."</b>, MÅNED: <b>".$md."</b>, test: <b>".$test."</b>, ÅR: <b>". $aar."</b></div>";
Avatar billede konder Nybegynder
26. januar 2004 - 21:10 #9
her er det forgående:

      $qry = mysql_query("SELECT dag, mur FROM kal WHERE dag = '".$year."-".$current_month."-".$z."'")
or die (mysql_error());

        $rows = mysql_num_rows($qry);
      if($rows == "0"){
        $class = "cal";
        $link = "";
        $endlink = "";
      }
        if($i == $current_day){
        $class = "cal-day";
        $link = "";
        $endlink = "";
        }
      if($rows > "0" AND $i == $current_day){
             
        $class = "cal-event-day";
        $link = "<a href=\"kalen.php?day=" . $i . "&month=" . $current_month . "\" class=\"callink\">";
        $endlink = "</a>";
      }
      elseif($rows > "0"){

        $class = "cal-event";
        $link = "<a href=\"kalen.php?day=" . $i . "&month=" . $current_month . "\" class=\"callink\">";
        $endlink = "</a>";
      }

    echo "<td align='center' class='$class'>" . $link . $i;
if (!empty($test)){echo $test;}
echo $endlink ."</td>";

        $x = $i+$dage;
        if(!is_float($x/7)){
            echo "</tr>\n<tr>";
           
        }
    }

?>
suk..
Avatar billede konder Nybegynder
26. januar 2004 - 21:13 #10
du skal ikke undre dig over
$qry = mysql_query og $spg = mysql_query -det var en en tanketorsk
Avatar billede Slettet bruger
26. januar 2004 - 21:20 #11
Jeg forstår ikke rigtig, hvor du regner med, at der skulle komme noget i $test? Hvor fra skal PHP kunne vide, at feltet mur i databasen skal puttes i en variabel, der hedder $test. Du henter jo slet ikke resultatet af din forespørgsel.
Avatar billede konder Nybegynder
26. januar 2004 - 21:28 #12
øhh jeg bruger jo $test til at sætte det ind i MUR, men jeg kan godt se det halter.
Avatar billede konder Nybegynder
26. januar 2004 - 21:42 #13
desværre ved jeg da slet ikke hvordan jeg definerer $test
noget a'la
$test = mysql_fetch_array($spg)){echo $test[1]";}
Avatar billede Slettet bruger
26. januar 2004 - 21:53 #14
Ja, alt, hvad der tidligere er foregået i andre scripts (eller sidste gang det samme script blev kørt) er komplet ligegyldigt. Det er forlængst glemt.

Det virker som om du mangler lidt grundlæggende forståelse for, hvordan PHP fungerer. Jeg vil forslå, at du lige gennemgår gæstebogs-tutorialen på http://webcafe.dk/

Det du prøver på her er nemlig ikke ret svært. Hvis du ikke forstår det, så vil du heller ikke være i stand til selv at lave om i koden senere.
Avatar billede konder Nybegynder
26. januar 2004 - 22:16 #15
ok til grin kan man altid blive.. jeg tager mig lige tid til webcafe og undskylder at have taget din (tid)
Avatar billede konder Nybegynder
26. januar 2004 - 23:32 #16
men hold da fast hvor ville det være rart med hjælp..efter endnu et studie af webcafes gæstebog og forespg. får jeg ikke andet en fejlmeddelser:
mysql_fetch_array(): supplied argument is not a valid MySQL result resource og lign
Så dummere og mere deprimeret end nogensinde gir jeg op og går iseng
Avatar billede Slettet bruger
26. januar 2004 - 23:54 #17
Nu, når du har set det igennem, har du jo nok fundet på lidt rettelser til din kode, så vis den kode, du har nu, og så skal jeg hjælpe dig videre.

(Hvis du giver en mand en fisk, så er han mæt idag. Giv ham en fiskestang, og han kan også klare sig fremover.) Eller sagt på en anden måde: Hvis jeg bare giver dig den helt færdige kode, så lærer du jo ikke noget, og så vil det være andre, der skal lave det for dig næste gang også.
Avatar billede konder Nybegynder
13. februar 2004 - 15:50 #18
ak ja så mange uger efter- Jeg kan fint med gæstebog som foreslået o.m.a. men dette problem jeg har søgt hjælp til kan jeg altså stadig overhovedet ikke finde ud af og nu tør jeg ikke spørge om hjælp til det mere. Så ingen fiskemad til mig jeg opgir.
Avatar billede Slettet bruger
13. februar 2004 - 15:56 #19
Jeg bad dig jo vise den kode du havde nu, og så ville jeg hjælpe dig videre. Det fik jeg ingen reaktion på, og så er det jo lidt svært at hjælpe.
Avatar billede konder Nybegynder
13. februar 2004 - 16:10 #20
ohj hvor godt. Desværre er jeg lige på vej i biografen og se forbrydelser. Håber jeg må støde til efter. hej
<body >

<table height="100" cellpadding="0" cellspacing="4">
<?php

include("conn.php");

  //Variabler til brug for næste og forrige links, samt til opslag i DB
  if(isset($_GET['md']) && isset($_GET['year'])){
    $current_month = $_GET['md'];
    $year = $_GET['year'];
    $test = $_GET['test'];

    //næste og forrige links
    if($current_month == 12){
      $mdnext = 1;
      $yearnext = $year+1;
      $mdprev = $current_month-1;
      $yearprev = $year;

    }elseif($current_month == 1){
      $mdnext = $current_month+1;
      $yearnext = $year;
      $mdprev = 12;
      $yearprev = $year-1;
    }else{
      $mdnext = $current_month+1;
      $yearnext = $year;
      $mdprev = $current_month-1;
      $yearprev = $year;
    }

  }else{
    $current_month = date("n");
    $year = date("Y");
    $mdnext = $current_month+1;
    $yearnext = $year;
    $mdprev = $current_month-1;
    $yearprev = $year;
  }

  //sætter 'nul' for an alt der er mindre end 9
  if($current_month <= 9){
    $current_month = "0".$current_month;
  }

  $dkmdr = array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December");

  //finder antal dage i den valgte måned
  // $days = date ("t", mktime(0,0,0,1,11,$year));
  $days = date ("t", mktime(0,0,0,$current_month,1,$year));

  //dags dato
  $current_day = date("d");

  // måned med bogstaver fra array $dkmdr
  $charmonth = $current_month-1;

  // finder dag på ugen for første dag i måneden, 0=søndag, 1= Mandag ... og 6=lørdag
  $day_of_week = date("w",mktime(0,0,0,$current_month,1,$year));

  //hvor mange tomme dage skal sættes før den 1. i måneden
  switch($day_of_week){
  case '0':
    $dage = 6;
  break;
  case '1':
    $dage = 0;
  break;
  case '2':
    $dage = 1;
  break;
  case '3':
    $dage = 2;
  break;
  case '4':
    $dage = 3;
  break;
  case '5':
    $dage = 4;
  break;
  case '6':
    $dage = 5;
  break;
  }

  // men først et par tomme rum, så det kommer til at passe med ugedag...
  for($i=0;$i<$dage;$i++){
    $tomme .= "<td align=\"center\" class=\"" . $class ."\"> </td>";
  }


  echo "<tr><td colspan=\"7\" align=\"center\"><b>".$dkmdr[$charmonth]." ".$year."</b></td></tr>\n";
  echo '<tr><td align="center">Man</td><td align="center">Tir</td><td align="center">Ons</td><td align="center">Tor</td><td align="center">Fre</td><td align="center">Lør</td><td align="center">Søn</td></tr>';
  echo "<tr>";

    if($i <= 7){
    echo $tomme;
    }

    for($i=1;$i<=$days;$i++){
      if($i <= 9){
        $z = "0".$i;
      }else{
        $z = $i;
      }
      $qry = mysql_query("SELECT dag, mur FROM kal WHERE dag = '".$year."-".$current_month."-".$z."'")
or die (mysql_error());
     

        $rows = mysql_num_rows($qry);
      if($rows == "0"){
        $class = "cal";
        $link = "";
        $endlink = "";
      }
        if($i == $current_day){
        $class = "cal-day";
        $link = "";
        $endlink = "";
        }
      if($rows > "0" AND $i == $current_day){
        $class = "cal-event-day";
        $link = "<a href=\"event.php?day=" . $i . "&month=" . $current_month . "\" class=\"callink\">";
        $endlink = "</a>";
      }
      elseif($rows > "0"){
       
        $class = "cal-event";
        $link = "<a href=\"event.php?day=" . $i . "&month=" . $current_month . "\" class=\"callink\">";
        $endlink = "</a>";
      }

   
echo "<td align='center' class='$class'>" . $link . $i;
if (!empty($test)){echo $test;}
echo $endlink ."</td>";
     

        $x = $i+$dage;
        if(!is_float($x/7)){
            echo "</tr>\n<tr>";
        }
    }
?>
</tr>
<tr>
  <td colspan="7" align="center">
  <?php
  echo '<a href="'.$_SERVER['PHP_SELF'].'?md='.$mdprev.'&amp;year='.$yearprev.'"><< Forrige</a> | <a href="'.$_SERVER['PHP_SELF'].'?md='.$mdnext.'&amp;year='.$yearnext.'">Næste >></a>';

  ?>
  </td>
</tr>
</table>
Avatar billede konder Nybegynder
14. februar 2004 - 16:11 #21
Hej sandbox- Efter en aften med virklig god film (bortset fra at jeg sad bag Svend Auken!)middag o.s.v. i byen,sætter jeg min lid til at du kan hjælpe. Jeg kan jo ikke engang forklare hvad problemet er. Desværre skal jeg igen idag ud til 60 års fødselsdag kl 17.30 så det er begrænset hvor meget jeg får tænkt i dbsbaner. Jeg forstår ikke hvorfor jeg ikke har en db med datoer som udgangspunkt for sofiebadet.dk/tid/abe.php
Avatar billede Slettet bruger
16. februar 2004 - 14:34 #22
Du henter stadig ikke resultatet af din forespørgsel. Det eneste, du henter, er antallet af rækker fra den. Du skal hente selve resultatet med en løkke i denne stil:

while($row=mysql_fetch_assoc($qry)){
  //Forespørgslen hentede dag og mur fra DB, så nu kan man bruge
  // $row['dag'] og $row['mur'] for at se de to værdier.
}
Avatar billede konder Nybegynder
23. februar 2004 - 18:41 #23
Hjemvent fra ferie: Det jeg forstår(men ikke særlig godt p.g.a. class) er at antallet af rækker bestemmer hvad der står i min tabelkalender, og at jeg ikke trækker forespørgslen rigtig ud. Nu har jeg forsøgt sådan:
echo "<td align='center' class='$class'>" . $link . $i;
while($row=mysql_fetch_assoc($gry)){
    echo $row['mur'];
}
echo $endlink ."</td>";
men får Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /kunder/sofiebadetdk/htdocs/tid/aben.php on line 142
Avatar billede Slettet bruger
23. februar 2004 - 23:41 #24
Du skal have: or die(mysql_error()) efter din mysql_query, så du kan få eventuelle fejlbeskeder fra MySQL.

Hvis du har det, er det måske fordi du har skrevet $gry i stedet for $qry
Avatar billede konder Nybegynder
23. februar 2004 - 23:51 #25
jaa da jeg skriftede $gry med den oprindelige $gry virkede det -gennembrud!!
Avatar billede konder Nybegynder
23. februar 2004 - 23:58 #26
jeg håber virkelig du har fået masser af point og at spørgsmålet så er lukket -du har været til uundværlig stor hjælp
Avatar billede Slettet bruger
24. februar 2004 - 00:54 #27
Hvis det var din mening at acceptere mit svar, skulle du vælge mig på listen - selvom der ikke står andre.

Godt du fik det til at virke.
Avatar billede konder Nybegynder
24. februar 2004 - 20:48 #28
Jeg acceptere absolut. Nu spekulere jeg så bare på, måske via class, at få
echo $row['mur']; og
echo $row['mar'];
skrevet med hver sin farve.
Avatar billede konder Nybegynder
24. februar 2004 - 21:03 #29
Jeg er bange for at jeg ved en fejltagelse har bøffet dig for point igen.Og nu har jeg kun valget mellem Kommentar/abonner
Avatar billede Slettet bruger
24. februar 2004 - 21:41 #30
Nej, du har givet mig point.

$row['mar'] hvor kommer den fra?
Avatar billede konder Nybegynder
24. februar 2004 - 21:56 #31
det er bare en anden katagori;mar=åben og mur=møde -den pågældende dag
Avatar billede konder Nybegynder
24. februar 2004 - 22:06 #32
mere uførligt er det en kalender hvor jeg gerne vil vise aktiviteter i Sofies bad; møder f.eks. bestyrelsesmøder, med grøn skrift(link)og blå til åbningstider f.eks
Avatar billede Slettet bruger
24. februar 2004 - 22:16 #33
Men hvis du vil have dem vist med forskellige css-klasser, kan du bare skrive:

echo "<span class='mur'>{$row['mur']}</span>";
og
echo "<span class='mar'>{$row['mar']}</span>";
Avatar billede konder Nybegynder
24. februar 2004 - 22:42 #34
Laver jeg så i mit css.txt noget som:

.mur
{
    color: #ccffcc;
    font-family: verdana;
    font-size: 10px;
}
jeg har forsøgt noget lignende uden held.
Avatar billede konder Nybegynder
24. februar 2004 - 22:49 #35
og så går alt i kage rent grafisk;
ingen tabel med baggr.farvede celler, med fine tal og røde links (dato for aktivitet, 'mar' og 'mur')
men små sorte tal(datoer), ingen tabel-border, bgfarve og blå links(mur og mar)
Avatar billede Slettet bruger
24. februar 2004 - 22:50 #36
Det burde virke.

Prøv at forklare nærmere, hvad der går galt. (Husk at bruge "Vis kilde" i din browser, det kan være, at du har glemt at afslutte en tag eller lignende.)
Avatar billede konder Nybegynder
24. februar 2004 - 23:02 #37
som jeg kan se det(i "vis kilder") det den class der hører til
<a href="event.php?day=12&month=02" class="callink">12sporten</a></td>
hvor 12 er mur og sporten mar.
men som sagt er der ikke nogen cssklasser der virker nu
Avatar billede Slettet bruger
24. februar 2004 - 23:05 #38
Prøv at vise hele din css-fil. Det lyder som om der er fejl i den.
Avatar billede konder Nybegynder
24. februar 2004 - 23:11 #39
Den er gaflet og jeg ikke hvad p f.eks. står for. Det andet har jeg fundet ud af sådan lidt, du ved.
p
{
    color: #ff0000;
    font-family: verdana;
    font-size: 10px;
}


A:link
{
  color: #666666;
  text-decoration: none;
  background-color: inherit; 
}
A:visited
{
  color: #666666;
  text-decoration: none;
  background-color: inherit; 
}
A:hover
{
  color: darkblue;
  text-decoration: none;
  background-color: inherit;
}

/* Specielle Kalender Styles */

A.callink:link
{
  color: red;
  text-decoration: none;
  background-color: inherit; 
}
A.callink:visited
{
  color: red;
  text-decoration: none;
  background-color: inherit; 
}
A.callink:hover
{
  color: darkred;
  text-decoration: none;
  background-color: inherit;
}
.cal
{
  width: 50px;
  height: 50px;
  border: 1px solid black;
  background-color: #EEEEEE;
  color: inherit;
}
.cal-event
{
  width: 50px;
  height: 50px;
  border: 1px solid black;
  background-color: #DDDDDD;
  color: red;
  font-weight: bold;
}

.cal-event-day
{
  width: 50px;
  height: 50px;
  border: 1px solid black;
  background-color: gray;
  color: red;
  font-weight: bold;

}
.cal-day
{
  width: 50px;
  height: 50px;
  border: 1px solid black;
  background-color: #666666;
  color: white;
  font-weight: bold;
}
.mur
{
    color: #ccffcc;
    font-family: verdana;
    font-size: 10px;
}
Avatar billede konder Nybegynder
24. februar 2004 - 23:25 #40
men godnat
Avatar billede Slettet bruger
24. februar 2004 - 23:36 #41
Jeg er ikke sikker på om det er gyldigt at bruge - i klassenavne.

p er bare en ganske normal html-tag.
Avatar billede konder Nybegynder
25. februar 2004 - 22:37 #42
echo "<td align='center' class='$class'>" . $link . $i;
echo "<br>";
while ($row=mysql_fetch_assoc($qry)){
    echo $row['mur'];
    echo "<br>";
    echo $row['mar'];



}
 
echo $endlink ."</td>";
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester