Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL: mysql order by ongelma

Hemi [03.12.2006 20:35:28]

#

En kovinkaan paljoa ole tutustunut koodaamiseen joten yritän saada apua tätä kautta.

Ongelmanani on että kotisivuston koodissa on ilmennyt ongelma ja se laittaa siitä viestiä, yritin googlen avulla ratkaista mutta taidot ei riittäneet.

Invalid SQL: SELECT imageid FROM sd_p17_images WHERE sectionid = 4 AND activated = 1 AND imageid > ORDER BY imageid ASC LIMIT 1
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY imageid ASC LIMIT 1' at line 1
Error number: 1064

tuollaisesta on siis kyse.

Kiitos kaikille jo etukäteen toivottavasti tämä ongelmani ratkeaa.

- Hemi -

sooda [03.12.2006 20:37:30]

#

Hemi kirjoitti:

[...] activated = 1 AND imageid > ORDER BY [...]

"imageid > " -- kuuluiskohan tossa olla joku numero?

Hemi [03.12.2006 20:41:23]

#

toi on toiminut kyllä toista vuotta ihan ok
mutta tod näk 5.0 päivityksen jälkeen ei enään toimi. En ihan sata varma ole.

Olga [03.12.2006 21:00:41]

#

Olisko niin että ennen on ollut register_globals päällä ja nyt se ei ole, jolloin jostain url-parametrista tai lomakkeelta saatu muuttuja ei löydykään enää $imageid-muuttujasta, vaan esimerkiksi $_GET-taulukosta. Mutta arvailua vain, paha sanoa ilman koodia. Eli tuosta tosiaan puuttuu numero tuosta imageid:n jälkeen niinkuin sooda jo mainitsi.

Hemi [04.12.2006 06:24:59]

#

Tuossa olisi tuota koodia jos se auttaa.

<?php
// ############################## DISPLAY IMAGES ###############################

function DisplayImages($viewtype)
{
  global $DB;
  global $refreshpage;

  switch($viewtype)
  {
    case 'Latest Images':   // 10 most recent submissions
      $getimages = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p17_images ORDER BY imageid DESC LIMIT 0,10");
    break;

    case 'Offline Images':  // offline = (not activated, needs review)
      $getimages = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p17_images WHERE activated = '0' ORDER BY imageid DESC");
    break;

    default:
      $sectionid = $viewtype;
      $getimages  = $DB->query("SELECT * FROM " . TABLE_PREFIX . "p17_images WHERE sectionid = '$sectionid' ORDER BY imageid DESC");
      $viewtype  = 'Images';
  }

  PrintSection($viewtype);

  echo '<form action="'.$refreshpage.'" method="POST">
        <input type="hidden" name="action" value="deleteimages" />

        <table width="100%" border="0" cellpadding="5" cellspacing="0">
        <tr>
          <td class="tdrow1">Image</td>
          <td class="tdrow1">Section</td>
          <td class="tdrow1">Author</td>
          <td class="tdrow1">Status</td>
          <td class="tdrow1" width="150">Delete</td>
        </tr>';

  while($image = $DB->fetch_array($getimages))
  {
    $section = $DB->query_first("SELECT name FROM " . TABLE_PREFIX . "p17_sections WHERE sectionid = '".$image['sectionid']."'");

    echo '<tr>
            <td class="tdrow2">&nbsp;<a href="'.$refreshpage.'&action=displayimageform&imageid='.$image['imageid'].'"><img src="../plugins/p17_image_gallery/images/tb_' . $image['filename'] .'" /></a></td>
            <td class="tdrow3">&nbsp;'.$section['name'].'</td>
            <td class="tdrow2">&nbsp;'.$image['author'].'</td>
            <td class="tdrow3">&nbsp;'.iif($image['activated']=="1","<div style=\"color:green\">Online</div>","<div style=\"color:red\"><b>Offline</b></div>").'</td>
            <td class="tdrow2">&nbsp;<input type="checkbox" name="imageids[]" value="'.$image['imageid'].'" /></td>
          </tr>';
  }

  echo '<tr>
          <td class="tdrow1" bgcolor="#FCFCFC" colspan="5" align="right" style="padding-right: 20px;">
           <input type="submit" value="Delete Images" />
          </td>
        </tr>
        </table>

        </form>';

  EndSection();
?>

(Mod. edit: Kooditagit)

ajv [04.12.2006 09:11:33]

#

Eihän tuossa koodissa ole tuota virheen antanutta kyselyä...

Hemi [04.12.2006 23:10:50]

#

kiitos ajv vastauksesta, taisin löytää ongelman.
Tuijotin vain kokoajan väärää paikkaa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta