Inserimento dati a cascata

  • Creatore Discussione Creatore Discussione Alex_70
  • Data di inizio Data di inizio
modifica "cinetecaAttori.php" con,

copia / incolla ( SOLO ma TUTTA ) la funzione "getImg" posizionandola prima della funzione "displayForm",
dopo averlo fatto, dovrai avere la stessa disposizione come rappresentato dal codice sottostante

PHP:
        default:
            $message = "Congratulazioni, ".$row['nome']." ".$row['cognome']." é stato ".$x." nel database.";
            inizializzaVariabili();
            break;
    }
}

/* ---------------------------------------------------------------- */

function getImg($row=array())
{
    $img = "image_upload/actor/uploads/"
         . ( empty($row['foto']) ? "nophoto170.png" : $row['nome'] . " (" . $row['actor_id'] . ")/" . $row['foto'] );

    // file_exists($img);

    $img = "<img src='" . $img . "' width='110px' height='130px' style='border:1px solid #333333;'>";
    return $img;
}

/* ---------------------------------------------------------------- */

function displayForm($azione = "")
{
    global $conn, $set, $row, $message;


nella funzione "displayActorList"

elimina la riga
PHP:
          <td class='paramvalue'><?= $row[$x]['foto']; ?></td>
ed al suo posto copia / incolla la riga
PHP:
          <td class='paramvalue'><?php echo getImg($row[$x]); ?></td>


nella funzione "displayForm"

subito dopo "table" e "tbody" aggiungi la riga (codice html) da <tr> a </tr> come rappresentato nel codice sottostante
PHP:
    <table id='biographyTable' border='0' cellspacing='0' cellpadding='0' width='100%'>
      <tbody>
        <tr>
          <td> </td>
          <td class='paramvalue'><?php echo getImg($row); ?></td>
        </tr>

Just to look at the result

1589383845490.png
 
le stesse modifiche allo script "cinetecaCollega.php"

copia / incolla la funzione "getImg" posizionandola prima della funzione "displayActorSearch" come da codice sottostante,
PHP:
    $result = $conn->query($sql);
    if ( !$result ) { $message = "ERRORE : aggiornaDB, errore nella query, " . $conn->error; return; }
    return $result;
}

/* ---------------------------------------------------------------- */

function getImg($row=array())
{
    $img = "image_upload/actor/uploads/" 
         . ( empty($row['foto']) ? "nophoto170.png" : $row['nome'] . " (" . $row['actor_id'] . ")/" . $row['foto'] );

    // file_exists($img);

    $img = "<img src='" . $img . "' width='110px' height='130px' style='border:1px solid #333333;'>";
    return $img;
}

/* ---------------------------------------------------------------- */

function displayActorSearch()
{
    global $conn, $set, $actor, $film, $message;


nella funzione "displayActorList", sostituisci la sola riga della foto, con quella che trovi nel codice sottostante,

PHP:
          <td class='paramvalue'><?= $dati[$x]['cognome']; ?></td>
          <td class='paramvalue'><?= $dati[$x]['birthday']; ?></td>
          <td class='paramvalue'><?php echo getImg($dati[$x]); ?></td>
        </tr>
<?php } ?>


nella funzione "displayFilmSearch", sostituisci la sola riga dove compare la funzione "getImg", con quella che trovi nel codice sottostante,

PHP:
  <center><h1><span class='infoblock-pagetype'>cineteca scelta Film</span></h1></center>

  <center><h4><?php getActor(); echo $actor['nome']." ".$actor['cognome']." ".$actor['actor_id']." ".getImg($actor); ?></h4><center>

  <form name='FilmSearch' method='POST' action='<?= $set['script']; ?>'>


nella funzione "displayConnect", aggiungi la riga (html) da <tr> a </tr>, che trovi nel codice sottostante,

PHP:
    <table id='biographyTable' border='0' cellspacing='0' cellpadding='0' width='100%'>
      <tbody>
        <tr>
          <td> </td>
          <td class='paramvalue'><?php echo getImg($actor); ?></td>
        </tr>
 
perfetto, ho sostituito/inserito il codice ed adesso visualizzo la foto ;)

sshot_codice24.png


sshot_codice25.png


ma........

purtroppo e' sorto un problema in cinetecaCollega.php, dopo aver scelto l'attore e il film mi compare un messaggio d'errore se clicco su cerca :(

sshot_codice26.png


PHP:
Fatal error: Call to a member function fetch_all() on null in E:\OSPanel\domains\localhost\cinema\cinetecaCollega.php on line 253

line 253

PHP:
if($set['mySql']) { $dati = $result->fetch_all(MYSQLI_ASSOC);  $result->free(); }

codice modificato cinetecaCollega.php

 
l'errore

PHP:
Fatal error: Call to a member function fetch_all() on null in E:\OSPanel\domains\localhost\cinema\cinetecaCollega.php on line 253

il motivo e che nel campo Title ho inserito questo con apostrofo L'esorcista
se inserisco questo esorcista funziona

come agire? :rolleyes:
 
. scusa non considerare il messaggio, non avevo letto il tuo ultimo post, e avevo pensato al malfunzionamento della funzione fetch_all


l'errore sembra dovuto all'apice,
cerco di capire come trattarlo con mysql, nel frattempo evitalo
 
Ultima modifica:
sono riuscito a visualizzare la cover anche per i film in cinetecaFilm.php (invertendo il codice), ho provato anche con cinetecaCollega.php ma li purtroppo senza successo, solo preview attore :rolleyes:

per i film il codice e' questo

PHP:
image_upload/movie/uploads/<?=$movie_title?> (<?=$year?>)/<?php echo $row['cover_front']; ?>
 
. scusa non considerare il messaggio, non avevo letto il tuo ultimo post, e avevo pensato al malfunzionamento della funzione fetch_all


l'errore sembra dovuto all'apice,
cerco di capire come trattarlo con mysql, nel frattempo evitalo

in un vecchio codice per la modifica ho questo, funziona li, qui si potrebbe inserire, che dici?

PHP:
$_POST['movie_title']=addslashes($_POST['movie_title']); // funzione per inserire testo con apostrofo
 
Ciao marino51 (ma sei del 51?)
dunque ho sostituito cinetecaCollega con il nuovo che hai postato, sembra funzionare (con il titolo con l'apice) pero' ricevo un avviso

PHP:
Warning: Invalid argument supplied for foreach() in E:\OSPanel\domains\localhost\cinema\cinetecaCollega.php on line 358

sshot_codice27.png


line 358

PHP:
foreach ($params as $key => $value)



ps: hai letto questo?

sono riuscito a visualizzare la cover anche per i film in cinetecaFilm.php (invertendo il codice), ho provato anche con cinetecaCollega.php ma li purtroppo senza successo, solo preview attore :rolleyes:

per i film il codice e' questo
PHP:
image_upload/movie/uploads/<?=$movie_title?> (<?=$year?>)/<?php echo $row['cover_front']; ?>
 
Stà diventando un romanzo questo thread!
 
Max 1
abbi pazienza, piccoli aggiustamenti e tra poco dovremmo finire, il codice e' quasi completo :)
se non altro teniamo vivo il forum, comunque non siamo ai livelli di Guerra e Pace :)

ps: c'e' qualche regolamento che limita la lunghezza dei thread? :rolleyes:
 
questo potrebbe essere l'ultimo post di questa discussione,
trovi i 3 script (senza errori, compreso foreach) con tutte le foto / cover collegate
dovrai fare i tuoi aggiustamenti
saluti
 

Allegati

  • Like
Reactions: Alex_70
ho fatto le modifiche (tolto cognome), sembra funzionare, lo testo e ti faccio sapere, speriamo bene,
sara' contento Max 1 :D
Che dire, un immenso grazie di cuore marino51 :) , grazie per la tua pazienza, professionalita' e disponibilita' (tanta)
Insieme a Tommy03 siete stati una piacevole sorpresa, non mi aspettavo questo aiuto.
Spero un giorno di poter ricambiare, ma non con il codice, tu sei imbattibile ;)

ps: ma sei un programmatore?
 

Discussioni simili