Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP: MySQL-bännilistanpurkaja

Sivun loppuun

rautamiekka [18.10.2010 20:18:04]

#

Kun kaveri on intissä, täytyy tulla tänne: oli tehnyt Steam ID-tietokannan purkajan -> http://rautamiekka.org/site/steamid/index.php <- jonka koodista päätin editoida bännilistanpurkajan eikä toimi (ja valitettavasti pistin deleteä enkä tallentanut Notepad++:ssa ollutta tekstiä). Toimimisesta vain että se kertoi kyllä listan bännimäärän ja lopettaa sivun printtauksen tummaan näytönlevyiseen laatikkoon (eikä sellaista vissiin pitäisi tullakaan, kai).

Tarpeellisia tietoja phpMyAdminilla luettuna:
- Tietokannan nimi alla koodissa.
- Tietokannassa on "sba_bans"-taulu josta luetaan.
- "sba_bans"-taulu ei sisällä kuin "steamid"-pystyrivin

Pyynnöt:
- Purettaessa täytyy luetella laskevasti (A-Ö -tyyliin).
- Yksi ID per rivi.

SID-LISTAAJAN KOODI:

<?php
//////// Asetukset ///////
$conf['db_user'] = "***"; // Tietokannan käyttäjätunnus
$conf['db_pass'] = "***"; // Tietokannan salasana
$conf['db']      = "bizzogco_serbans"; // Tietokanta
$conf['db_loc']  = "***"; // Tietokannan osoite, normaalisti "localhost"
//////////////////////////

$db_count = 0;

//// Tärkeät funktiot ////
function db_connect() {
    global $gs, $conf;
    $gs = @mysql_connect($conf['db_loc'], $conf['db_user'], $conf['db_pass']) or die('<div style="font-family:Trebutch MS,Verdana, Arial, Helvetica, sans-serif;">
    <h1>Can\'t connect to the database</h1>
    </p>
    <p>Error: '.mysql_error().'</p>
</div>');
    mysql_select_db($conf['db'], $gs) or die('<div style="font-family:Trebutch MS,Verdana, Arial, Helvetica, sans-serif;">
    <h1>Can\'t choose database</h1>
    <p>Error: '.mysql_error().'</p>
</div>');

    return $gs;
}

function db_query($query) {
    global $db_count, $db_time;
    $conf['debug'] = false;
    if ($conf['debug'] == true) {
        $f=fopen("debug.log", "a");
        fputs($f, "== ".date("d.n.Y H:i:s",time())." == \n SQL: $query \n");
        fclose($f);
    }

    $gs = mysql_query($query) or die('<div style="font-family:Trebutch MS,Verdana, Arial, Helvetica, sans-serif;">
    <h1>Database error</h1>
    <p>On the database query happens an error</p>
    <p>Query: '.$query.'</p>
    <p>Error: '.mysql_error().'</p>
</div>');
    $db_count++;

    return $gs;
}

// php.netin kommentit auttaa (:
function db_escape($value) {
   if (is_array($value)) {
    foreach ($value as $key => $vv) {
        $value[$key] = db_escape($vv);
    }
    return $value;

   }
   if ($value == "") return "''";
   // Stripslashes
   if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }
   // Quote if not integer
   if (!is_numeric($value) || $value[0] == '0') {
       $value = "'" . mysql_real_escape_string($value) . "'";
   }
   return $value;
}

function db_fetch_array($a) {
    return mysql_fetch_array($a);
}

function db_fetch_row($a) {
    return mysql_fetch_row($a);
}
///////// Funktiot loppuu /////

db_connect();

$start     = $_GET['s'] ? db_escape($_GET['s']) : 0;
$end    = $_GET['e'] ? db_escape($_GET['e']) : 100;
/*
$haku = db_query("SELECT globalid, globaliddb_ids.id AS ID_id, globaliddb_names.id AS name_id, name
    FROM globaliddb_ids LEFT JOIN globaliddb_names ON globaliddb_ids.id = globaliddb_names.id
    GROUP BY globalid
    ORDER BY ID_id
    LIMIT $start, $end
    ");
*/

$SteamIDs = db_query("SELECT * FROM globaliddb_ids ORDER BY id LIMIT $start, $end");
$names = db_query("SELECT * FROM globaliddb_names ORDER BY id");

$haku2 = db_query("SELECT COUNT(id) FROM globaliddb_ids");
$r = db_fetch_row($haku2);
echo "<div>Total {$r[0]} IDs</div>";
?>
<form method="get">
    <input type="text" name="s" value="<?php echo $start; ?>" />
    to
    <input type="text" name="e" value="<?php echo $end; ?>" />
    <input type="submit" value="Submit" />
</form>
<?php

while ($q = db_fetch_array($names)) {
    $names[$q['id']] = $q['name'];
}
while($r = db_fetch_array($SteamIDs)) {
    echo "<div style=\"border-bottom: 1px solid #4d4d4d\">{$r['globalid']} ";
    while ($q = $names[$r['id']]) {
        echo "\"{$q['name']}\", ";
    }
    echo "</div>";
}

?>

RQ [18.10.2010 21:08:59]

#

Ja ongelma/kysymys oli?

rautamiekka [18.10.2010 21:26:13]

#

RQ kirjoitti:

Ja ongelma/kysymys oli?

Etten osaa muokata tuota koodia toimivaksi enkä voi pyytää kaveria.

Macro [18.10.2010 22:01:12]

#

rautamiekka kirjoitti:

RQ kirjoitti:

Ja ongelma/kysymys oli?

Etten osaa muokata tuota koodia toimivaksi enkä voi pyytää kaveria.

Eli toisin sanoen et voi pyytää kaveriltasi apua kun hän on intissä joten pyydät muita tekemään koodisi toimimaan kertomatta mikä siinä on ongelmana. =)

rautamiekka [18.10.2010 23:57:54]

#

Macro kirjoitti:

Eli toisin sanoen et voi pyytää kaveriltasi apua kun hän on intissä joten pyydät muita tekemään koodisi toimimaan kertomatta mikä siinä on ongelmana. =)

Katso tuo toimiva SID-sivu. Bännisivun pitäisi näyttää samanlaiselta ja toimia samoin mutta purkaa tietokannasta bännättyjen SID:ejä. Laitoin tuon SID-sivun koodin ja tarvittavia tietoja esille joista tehdä tämä bännisivu syistä jotka tiedät.

rautamiekka [28.10.2010 18:27:33]

#

Mitä tämä hiljaisuus on tarkoittavinaan ? Ei haluta, osata, vai mitä ?

rautamiekka [30.10.2010 14:57:48]

#

Mu käynnit o siin. Turha tän tul jos muil vastataa & autetaa muttei mul. Mulkkuu menoo.

Macro [30.10.2010 15:12:05]

#

rautamiekka kirjoitti:

Mu käynnit o siin. Turha tän tul jos muil vastataa & autetaa muttei mul. Mulkkuu menoo.

No, se on sitten sun ongelmas jollet käy enään. Ei voi mitään. Juolahtiko mieleesti, että sinua ei osata auttaa kun et kerro mikä on ongelma ja missä on ongelma? Itse en ymmärtänyt edes mitä tuon pitäisi tehdä.

RQ [30.10.2010 16:30:28]

#

Kukaan tuskin auttaa noin epäselvässä asiassa, mulla jäi pointti kokonaan epäselväksi. Ilmeisesti siis sait kaverilta valmiin koodin, jonka haluat vielä muiden muokkaavan sulle valmiiksi ilman, että ite tekisit mitään?
Asennekin sen verran syvältä, että turha ihmetellä, jos jää vastaukset saamatta. Hei hei ja hyvästi.


Sivun alkuun

Vastaus

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

Tietoa sivustosta